Jump to content
  • entries
    34
  • comments
    226
  • views
    6,856

Одна история оптимизации сайта, и как не надо делать? И почему jetcache + filter viever - это путь в Вальгалу ? Часть вторая.

Порадовался я тут значит этой истории

Сделал промочку на вторую часть... И...  Все опять накрылось медным тазом.

На следующий день после того как магазин зажил полной грудью он опять начал тупить при чем жестко.
И если фронт работал кое-как, то вот товары обновить возможности не было никакой.


Но давайте  с самого начала. 
С чем мы столкнулись. 
Магазин на 65 000 товаров, самая большая категория на 10к товаров, у каждого товара 5-8 атрибутов. Из бредомодулей стоит jetcache и filterviewer.

Жил себе и жил этот магазин на обычном виртуальном хостинге, пока не начал потреблять порядка 30% физического сервера хостинга, превышая в пике допустимый лимит нагрузки пакета в 10 раз. 

 

Когда я первый раз увидел этот проект, у меня было однозначное мнение, что это мертвый проект, так как скорее всего какой-то сеошник посоветовал сделать вот эти все посадочные под все со всеми и глаз пал на FV. 
В чем печаль ситуации. Этот фильтр генерит явную ссылку на страницы фильтра в формате все со всеми атрибуты, опции, и еще вот это в наличии и по рейтингу. И вместо того чтобы сделать явными только посадочные, а остальные страницы спрятать за js-редирект, а еще бы и закрыть по какому то признаку в robots, как тот же ?mfp= в Мегафильтр, viewer такой возможности не дает. Так как это же сео, это посадочные, это сеошники так сказали.
В итоге боты прриходят и застряют в этом болоте из сотен тысяч мусорных страницы фильтра, вместо того чтобы приходить на нормальные страницы товаров, категорий и руками созданные размеченные посадочные с адекватными тайтлами и контентом. Ща прибегут хейторы и скажут йода опять несет чушь. Предлагаю любому хейтеру показать мне проект, где подобный финт ушами от вивер фильтра дали хотя бы +200 уников из органического поиска. 
И еще, viver говорит, что ну че там - ну у меня ж ноиндекс на второй третий уровень вложенности. Это все прекрасно и волшебно, но для того чтобы увидеть этот ноиндекс все равно надо сгенерить страницу, а их я напомню несколько сот тысяч. На которые пришли гугл, яндекс и бинг бот.
Как говорит один мой знакомый, тут никакого сервера как у Пентагона не хватит.
Ну и поверху всей этой красоты еще стоит jetcache, который создает видимость спокойствия. Не ну а че.. Ну из файлика же быстро html подгрузился по готовому кешу. А то что 3+ секунды загрузка на холодную. Так ну то фигня - самое главное же из кеша быстро, все 5 страниц которые туда попали и еще 50 000 страниц фильтра, а нормальный контент как был туп так и остался. Как грузилась категория на 10 000 товаров 5-6 секунд так и грузится (там еще нон стоп обновления товаров) и весь jetcache ходит по бороде так сказать.
Но вот ложное чувство нормализации процесса давал.

 

 

Ок. что делать? Перенесли сайт на впс - стало хуже. Так как на шареде, можно было забираться по уши в ресурсы соседей, а тут два ядра - и только они.
И в этот момент владелец магазина обратился ко мне с вопросом, что же таки куда.

И самое удивительное, он признал с первого раза всю дичь логики работы фильтер вивер и согласился его убрать. И поменять на  OcFiltere от  @SooR.

После настройки серванта, после простановки индексов в базу, решения вопроса с кешами, выжигания filterviever и jetcache -  у нас вроде нормализовалась работа. И получились вот те графики которые были в первой статье. Но это была только прелюдия....


Вчера опять проект лег в момент попытки обновить какие-то 6000 товаров.
Начали разбираться и обнаружили падение базы. Начали смотреть почему падает, обнаружили нехватку памяти. Начали смотреть куда девается память - обнаружили оверхед потребления php-fpm. Начали разбираться почему - обнаружили, что в момент импорта-обновления таблиц mysql хоть их и не блочит, потому что innodb, но начинает подтупливать, потому что перестраивает индексы на больших таблицах. И в момент тупняка базы, становиться очередь запросов на генерацию страниц из php-fpm потоков, которые резервируют под себя память и в какой-то момент watchdog прибивает базу, как самый жадный процесс по потреблению памяти и пытается ее перезапустить, естественно убивая импорт и создавая проблемы для пользователей. Ну и оно в целом все время висит в момент импорта.


Начали смотреть внимательней, и обнаружили в логах очень много зверей типа ahrefs, mj12  и других. Закрыли. Не полегчало.

Попросил я дообавить 2 гигабайта памяти к 2 существующим на сервер. Добавили полегчало. И мало того, еще перенесли VPS на сервер с физической частотой процессоров в 5Ghz и вот тут полегчало глобально, импорт пролетел за какие-то 70 секунд. Все отлично. 

 

Прошли сутки. И сегодня опять мне прислали вот такой скрин:

 

image.png.61d0bcafd5ae82f2c3cfd600b23b4c93.png

Со словами - там в логах очень много гугл бота.

 

 

Я был готов уже проклять тот день когда я сел за баранку этого паровоза.

Но нет. Все решили. И сейчас вот так

image.png.d6047ba661fa55a6fb9ccb9e57e15676.png

И время ответа страниц без каких либо кешей 300-800 мс. С фильтрами, и всем остальным всем, что было до.

 

Вы спросите, а что же ты йода втираешь дичь. Типа. вот ты там решил потом не решил, потом опять справил и опять нет.
Ну вот такой вот я Йода, который не может предусмотреть все. 
Но если вы не хейтор, а вам интересно что же это было и как исправилось. То я вам расскажу, и это очень смешно:

 

Помните мы убрали фильтр? А помните, по страницам фильтра боты ходили? 
А теперь они увидели там 404, и что? Да пошли с утроенной силой чтобы проверить весь ресурс. На всю эту прорву мусороного контента, который был в очереди на сканирование. И был уже проиндексирован!

 

Просто всего ничего к нам зашло за день и только на html контент (обращения к статике в логе не учитываются):

 

image.png.3d1ef56aecb687296a84b2b673114fee.png

 

Удивительно, чо же там с нагрузкой. 
Ну ладно. Но у нас же проблема. Боты приходят на чпу ссылки. У нас нет хвоста site.com/filterviewer/какаятотупаястраницафильтра.

Так бы мы могли спокойно в nginx-конфиге заблочить сразу это все в 404 на корню и забыть про проблему.


Ок. Смотрим, что у нас есть в ссылках, а у нас там есть ~ в ссылках вида 
023~500-031621~sp0720-8003-ts~500-0702701~500-0702702~2140-180~2141-228~2516-240~4152-250~4155-213~kr2300-205~tstr6-762ef~500-031616.


Проверяем таблицу url_alias, там у нас символа ~ нету. Волшебно, БИНГО. Через минуту после блокировки всех ссылок с таким признаком на уровне web-сервера, наша нагрузка пришла в норму и проект зажил ровно так как и должен работать, зарабатывая владельцу деньги а не геморрой и седые волосы. 

 

Нам еще много предстоит сделать, чтобы гадкий утенок превратился в красивого лебедя.  Но эта моя сказочка про конкретную историю, как бывает когда два неграмотных дополнения могут привести к остановке бизнеса на пару недель, и про то что не всегда стоит бежать покупать стопятидесятиядерные сервера, так как не разобравшись в корне проблем, решить вопрос железом может быть или слишком дорого или невозможно в принципе.

 

UPD: прошли сутки и у нас новое бинго

 

image.png.f4061ddd0f5dd8534fa22419bf08ac63.png

 

657 мать его тысяч запросов от гугл бота..

Как это развидеть! Viiver ты что курил, прежде чем написать этот бред?

Как тебя выпустили, я не знаю откуда, но людям тебя нельзя показывать!

  • +1 9


17 Comments


Recommended Comments

Ну хоть здесь трустори почитаю.

А то закрыл свой ocshop.info и стало грустно.

  • +1 2

Share this comment


Link to comment

Так никто этого не понимает, пока не попадет в такую историю.

 

2019-06-24_104528.png.048bdde604e5fc649f4b498912cbad05.png

 

2019-06-24_105053.thumb.png.c38459f3d0c94a617e35df391ea4cb5b.png

 

2019-07-18_131616.png.c9bd007be972252c003d86159dfc0584.png

 

2019-11-15_140507.thumb.png.8442b5d14780f21afa29839981d399d2.png

 

2019-11-26_113828.thumb.png.b8963186148b81b7995e445923042b13.png

 

2019-12-07_231335.png.31730bf047aff464992f7eb7e9af3eaf.png

 

2020-08-04_171458.png.cc7af1e33750130bc96d1d2d1b5e8a98.png

 

и потом я устал скринить эти просьбы. Нужно как-то продумать железный вариант контролируемой индексации и допусков

Share this comment


Link to comment

Ну тут корень зла - не в хозяевах магазинов, а в сеошниках (которые где-то сбежали из большой конторы, украли брифы, и что-то там слышали про посадочные страницы, но у них плохо с математикой, и они не понимают что такое экспоненциальный рост количества ссылок при избыточной вариативности набора свойств сущности) и в viever который идет на поводу у желающих получить сеофильтер все.

Вместо того, чтобы ответственно обьяснить почему и как это все плохо. Человек просто тупо зарабатывает и ему фиолетово, что там как. 
То что после установки его фильтра у клиента может просесть выдача и он разориться. Да кого это волнует?

Главное же свою 20чку он заработал. А то что ущерба на 20к долларов может принести - да ну... двадцаточка же в кармане!

 

Я ж много раз просил. Ну покажи покажи... покажи.. ну где ну хоть кому нибудь это сеовсе дало толк..

Чет молчит!

Share this comment


Link to comment
18 часов назад, Yoda сказал:

Я ж много раз просил. Ну покажи покажи... покажи.. ну где ну хоть кому нибудь это сеовсе дало толк..

Чет молчит!

А сеошники знают про термин "каннибализация ключевых слов"?

Share this comment


Link to comment
11 часов назад, Vladzimir сказал:

А сеошники знают про термин "каннибализация ключевых слов"?

Я очень надеюсь, что наша история не останется без внимания. На нее обратит взор динокс, автор фильтра, и все вменяемые люди будут тыкать пальцем - вот так не надо делать. Но к сожалению вера в святую хпляву неистребима.

  • +1 1

Share this comment


Link to comment
15 часов назад, Yoda сказал:

Я очень надеюсь, что наша история не останется без внимания. На нее обратит взор динокс, автор фильтра, и все вменяемые люди будут тыкать пальцем - вот так не надо делать. Но к сожалению вера в святую хпляву неистребима.

Забыл добавить еще один термин, который должны знать все сеошники - "краулинговый бюджет"

Share this comment


Link to comment

Если Google и Яндекс зверствуют.

https://yandex.ru/support/webmaster/service/crawl-rate.html#crawl-rate

https://support.google.com/webmasters/answer/48620?hl=ru

 

А с бесполезными и вредными ботами можно расправиться поместив это в htaccess

SetEnvIfNoCase User-Agent "Abonti|AspiegelBot|aggregator|AhrefsBot|Aport|asterias|Baiduspider|BDCbot|Birubot|BLEXBot|BUbiNG|BuiltBotTough|Bullseye|BunnySlippers|Butterfly|ca\-crawler|CamontSpider|CCBot|Cegbfeieh|CheeseBot|CherryPicker|coccoc|CopyRightCheck|cosmos|crawler|Crescent|CyotekWebCopy/1\.7|CyotekHTTP/2\.0|DeuSu|discobot|DittoSpyder|DnyzBot|DomainCrawler|DotBot|Download Ninja|EasouSpider|EmailCollector|EmailSiphon|EmailWolf|EroCrawler|Exabot|ExtractorPro|Ezooms|FairShare|Fasterfox|FeedBooster|Foobot|Genieo|GetIntent\ Crawler|Gigabot|gold\ crawler|GrapeshotCrawler|grub\-client|Harvest|hloader|httplib|HTTrack|humanlinks|HybridBot|ia_archiver|ieautodiscovery|Incutio|InfoNaviRobot|InternetSeer|IstellaBot|Java|Java/1\.|JamesBOT|JennyBot|JS-Kit|k2spider|Kenjin Spider|Keyword Density/0\.9|kmSearchBot|larbin|LexiBot|libWeb|libwww|Linguee|LinkExchanger|LinkextractorPro|linko|LinkScan/8\.1a Unix|LinkWalker|lmspider|LNSpiderguy|ltx71|lwp-trivial|lwp\-trivial|magpie|Mata Hari|MaxPointCrawler|MegaIndex|memoryBot|Microsoft URL Control|MIIxpc|Mippin|Missigua Locator|Mister PiX|MJ12bot|MLBot|moget|MSIECrawler|msnbot|msnbot-media|NetAnts|NICErsPRO|Niki\-Bot|NjuiceBot|NPBot|Nutch|Offline Explorer|OLEcrawler|Openfind|panscient\.com|PostRank|ProPowerBot/2\.14|ProWebWalker|ptd-crawler|Purebot|PycURL|Python\-urllib|QueryN Metasearch|RepoMonkey|Riddler|RMA|Scrapy|SemrushBot|serf|SeznamBot|SISTRIX|SiteBot|sitecheck\.Internetseer\.com|SiteSnagger|Serpstat|Slurp|SnapPreviewBot|Sogou|Soup|SpankBot|spanner|spbot|Spinn3r|SpyFu|suggybot|SurveyBot|suzuran|SWeb|Szukacz/1\.4|Teleport|Telesoft|The Intraformant|TheNomad|TightTwatBot|Titan|toCrawl/UrlDispatcher|True_Robot|ttCrawler|turingos|TurnitinBot|UbiCrawler|UnisterBot|Unknown|uptime files|URLy Warning|User-Agent|VCI|Vedma|Voyager|WBSearchBot|Web Downloader/6\.9|Web Image Collector|WebAuto|WebBandit|WebCopier|WebEnhancer|WebmasterWorldForumBot|WebReaper|WebSauger|Website Quester|Webster Pro|WebStripper|WebZip|Wget|Wotbox|wsr\-agent|WWW\-Collector\-E|Yeti|YottosBot|Zao|Zeus|ZyBORG" bad_bot
Deny from env=bad_bot

 

Это "инструкция" для новичков, чтобы чуть чуть снизить нагрузку.

Share this comment


Link to comment
5 минут назад, efremovxp сказал:

Если Google и Яндекс зверствуют.

https://yandex.ru/support/webmaster/service/crawl-rate.html#crawl-rate

https://support.google.com/webmasters/answer/48620?hl=ru

 

А с бесполезными и вредными ботами можно расправиться поместив это в htaccess

SetEnvIfNoCase User-Agent "Abonti|AspiegelBot|aggregator|AhrefsBot|Aport|asterias|Baiduspider|BDCbot|Birubot|BLEXBot|BUbiNG|BuiltBotTough|Bullseye|BunnySlippers|Butterfly|ca\-crawler|CamontSpider|CCBot|Cegbfeieh|CheeseBot|CherryPicker|coccoc|CopyRightCheck|cosmos|crawler|Crescent|CyotekWebCopy/1\.7|CyotekHTTP/2\.0|DeuSu|discobot|DittoSpyder|DnyzBot|DomainCrawler|DotBot|Download Ninja|EasouSpider|EmailCollector|EmailSiphon|EmailWolf|EroCrawler|Exabot|ExtractorPro|Ezooms|FairShare|Fasterfox|FeedBooster|Foobot|Genieo|GetIntent\ Crawler|Gigabot|gold\ crawler|GrapeshotCrawler|grub\-client|Harvest|hloader|httplib|HTTrack|humanlinks|HybridBot|ia_archiver|ieautodiscovery|Incutio|InfoNaviRobot|InternetSeer|IstellaBot|Java|Java/1\.|JamesBOT|JennyBot|JS-Kit|k2spider|Kenjin Spider|Keyword Density/0\.9|kmSearchBot|larbin|LexiBot|libWeb|libwww|Linguee|LinkExchanger|LinkextractorPro|linko|LinkScan/8\.1a Unix|LinkWalker|lmspider|LNSpiderguy|ltx71|lwp-trivial|lwp\-trivial|magpie|Mata Hari|MaxPointCrawler|MegaIndex|memoryBot|Microsoft URL Control|MIIxpc|Mippin|Missigua Locator|Mister PiX|MJ12bot|MLBot|moget|MSIECrawler|msnbot|msnbot-media|NetAnts|NICErsPRO|Niki\-Bot|NjuiceBot|NPBot|Nutch|Offline Explorer|OLEcrawler|Openfind|panscient\.com|PostRank|ProPowerBot/2\.14|ProWebWalker|ptd-crawler|Purebot|PycURL|Python\-urllib|QueryN Metasearch|RepoMonkey|Riddler|RMA|Scrapy|SemrushBot|serf|SeznamBot|SISTRIX|SiteBot|sitecheck\.Internetseer\.com|SiteSnagger|Serpstat|Slurp|SnapPreviewBot|Sogou|Soup|SpankBot|spanner|spbot|Spinn3r|SpyFu|suggybot|SurveyBot|suzuran|SWeb|Szukacz/1\.4|Teleport|Telesoft|The Intraformant|TheNomad|TightTwatBot|Titan|toCrawl/UrlDispatcher|True_Robot|ttCrawler|turingos|TurnitinBot|UbiCrawler|UnisterBot|Unknown|uptime files|URLy Warning|User-Agent|VCI|Vedma|Voyager|WBSearchBot|Web Downloader/6\.9|Web Image Collector|WebAuto|WebBandit|WebCopier|WebEnhancer|WebmasterWorldForumBot|WebReaper|WebSauger|Website Quester|Webster Pro|WebStripper|WebZip|Wget|Wotbox|wsr\-agent|WWW\-Collector\-E|Yeti|YottosBot|Zao|Zeus|ZyBORG" bad_bot
Deny from env=bad_bot

 

Это "инструкция" для новичков, чтобы чуть чуть снизить нагрузку.

Валера, застрелись с такими инструкциями!

Ну боты ладно,Тока там и половины нет, тех что надо - и надо смотреть логи.

А вот за советы сделать crawl-delay, я бы тебя на гильотину отправил...

Надо контент отдавать для индексации именно тот, который должен индексироваться а не хлам - это первое.
Второе.. Люди не знают как бота загнать на сайт. Когда он есть это счастье. А ты предлагаешь его ограничить.
Ты ща вот серьезно? Ну это просто пппц.... твой совет. Ну вот просто днище!!!!
 

Share this comment


Link to comment
43 минуты назад, Yoda сказал:

Валера, застрелись с такими инструкциями!

Ну боты ладно,Тока там и половины нет, тех что надо - и надо смотреть логи.

А вот за советы сделать crawl-delay, я бы тебя на гильотину отправил...

Надо контент отдавать для индексации именно тот, который должен индексироваться а не хлам - это первое.
Второе.. Люди не знают как бота загнать на сайт. Когда он есть это счастье. А ты предлагаешь его ограничить.
Ты ща вот серьезно? Ну это просто пппц.... твой совет. Ну вот просто днище!!!!
 

Если у человека шаред хостинг и сотни тысяч товаров, но позволить себе сервер помощнее не может. Какие меры советовать бесплатно сделать своими силами.

Я же не про конкретно твой пост, а для тех, кто страдает

46 минут назад, Yoda сказал:

Тока там и половины нет

В качестве бесплатного совета и 190шт сойдет )

Share this comment


Link to comment
Только что, efremovxp сказал:

Если у человека шаред хостинг и сотни тысяч товаров, но позволить себе сервер помощнее не может. Какие меры советовать бесплатно сделать своими силами.

Я же не про конкретно твой пост, а для тех, кто страдает

В качестве бесплатного совета и 190шт сойдет )

Если у человека шаред хостинг и сотни тысяч товаров, человек или идиот, или идиот!

  • +1 2

Share this comment


Link to comment
1 час назад, Yoda сказал:

Если у человека шаред хостинг и сотни тысяч товаров, человек или идиот, или идиот!

Говорю же, совет "для бедных", кому надо всё бесплатно. От безысходности.

Конечно же я это порекомендовал не на серьезных щщах) А кто при деньгах, обратится к кому надо за помощью.

 

Share this comment


Link to comment
Только что, efremovxp сказал:

Говорю же, совет "для бедных", кому надо всё бесплатно. От безысходности.

Конечно же я это порекомендовал не на серьезных щщах) А кто при деньгах, обратится к кому надо за помощью.

 

Не надо обращаться к кому надо за помощью.
Надо включать мозги.

И вопрос "кто при деньгах" не корректен!


Я много раз повторяю одну простую фразу. Мы тут собрались - не для того чтобы делать благотворительные фонды.
Соответственно цель каждого магазина заработать деньги. Заработать деньги из воздуха - ну это сказки дедушки Римуса. Соотвественно. Хочешь заработать - нужен трафик. Нужен трафик - нужно сканирование страниц и индексация в гугле. Чем чаще ходит гугл бот. Тем логично же. Лучше будет индексация. А предложение его ограничить в посещениях - это как выстрелить себе в ногу. Или руку. 


Просто почему то. Вывеску дорогую заказать никто не жлобит. В хорошем ТЦ аренду платить - никто не жлобит. А как чуть лучше сервер взять и заняться оптимизацией проекта. Сразу ой. ай.. 

  • +1 1

Share this comment


Link to comment
В 21.10.2020 в 22:08, Yoda сказал:

Просто почему то. Вывеску дорогую заказать никто не жлобит. В хорошем ТЦ аренду платить - никто не жлобит. А как чуть лучше сервер взять и заняться оптимизацией проекта. Сразу ой. ай.. 

Да вот в наших реалиях, сервер за 200-250$  в год, это разве деньги?.. Насколько надо быть нищебродом, что бы начинать делать бизнес и экономить на элементарном?
Такое чувство, что насмотрелись "Успешного-успеха" где можно склепать магаз на коленке на бесплатном хостинге, взмахнуть палочкой бабло и все бизнес удался...

Начинаете бизнес, готовьте инвестиции и вкалывать, учится и включать мозги - это не на дядю по 8 часов в день ходить и не думать о проблемах.

  • +1 2

Share this comment


Link to comment

Если хочешь заработать, нужно работать исключительно на себя! И экономить на самом что не есть главном, ну тут уж извините, лучше пойдите с протянутой рукой постойте.

Лучше 1 раз вложить и собирать плоды, а не искать где по дешевле и в этом плане.

Пациент Вам наркоз что по дешевле или по дороже?! По дешевле! Ну тогда БАЮ БАЮШКИ БАЮ...

Вот и весь смысл экономии.

 

Share this comment


Link to comment

Тут не совсем так. Я приведу пример. Вот на этой неделе мы занимаемся извращённым сексом с одним приличным проектом.  4 ядра 16 гиг.. все лежит. А на двух ядрах и 4 гигах и в два раза дешевле летает. 

 

Так что следующая история, про то как заплатить в два раза меньше за в два раза больше спокойный сон.

Share this comment


Link to comment
15 часов назад, Yoda сказал:

Тут не совсем так. Я приведу пример. Вот на этой неделе мы занимаемся извращённым сексом с одним приличным проектом.  4 ядра 16 гиг.. все лежит. А на двух ядрах и 4 гигах и в два раза дешевле летает. 

 

Так что следующая история, про то как заплатить в два раза меньше за в два раза больше спокойный сон.

Это случайно не тот который с SATA-дисками? Хотя его вы вроде отправили гулять.

Share this comment


Link to comment

Почитал, интересно

Стоит на сайт фильтр от Виера (не думал о технических аспектах, когда ставил) каюсь

Но вот тот же Ок Фильтр не работает на странице поиска, а он мне очень нужен. К слову, у Виера тоже не работает...

Подскажите как быть

Напрашивается идея ставить два фильтра

Один для создания посадочных страницах и один для поиска

Правильно я понимаю???

Share this comment


Link to comment
Guest
You are posting as a guest. If you have an account, please sign in.
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.