Страница 1 из 2

Yandex bot и нагрузка на сервер

Добавлено: 30.01.2019 1:49
Nick
Описание проблемы:
Форум периодически встает колом, запрос любойп страницы может идти 10, 20 или 40 секунд, вплоть до таймаута.
Форум стоит на выделенном сервере проблем с ресурсами не должно быть.
После продолжительного исслелования проблемы выяснилось, что раз в какое-то время количество процессов апача становится 500+.
Большинство из них висит в состоянии "W" - waiting for reply. Запрашиваемый url - file.php, а ip клиента из сети descr: Yandex network.

Т.е. такое ощущение, что раз в какое-то время (раз в час-два) яндекс хочет переиндекировать форум включая все вложения, которых 161Гб. Причем делает он это в кучу потоков 500+ все это дело забивает всю память 16Гб ну и все запросы становятся в очередь, пока не скачается какой-нибудь файл.

Собственно вопрос, кто-нибудь с таким сталкивался? что делать?

Версия phpBB*: не самая новая
Версия PHP: 5.4.36
Используемая СУБД и её версия: mysql
Ссылка на конференцию: cnc-club.ru

Пара скриншотов из server-status и количество процессов апача и занятой ими памяти.

Re: Yandex bot и нагрузка на сервер

Добавлено: 30.01.2019 3:50
KEMnEP

Re: Yandex bot и нагрузка на сервер

Добавлено: 30.01.2019 4:55
Perfecthus
Nick, Коля, форум лежит, сегодня вообще зайти не смог, несколько раз пробовал.
В вэбмастере, в пункте Индексирование -> Скорость обхода что у тебя выставлено?

PS: И ещё, систематически разлогинивает при заходе на форум со смартфона (версия полная, не мобильная. Пробовал с разных браузеров - всё одно), с PC такого не наблюдается, как залогинился раз несколько лет назад, так и захожу. Возможно, куки надо настроить в админке форума.

Re: Yandex bot и нагрузка на сервер

Добавлено: 30.01.2019 10:04
Татьяна5
Добавьте бота яндекса в админке, а то он кучу сессий ещё вдобавок создаёт
Nick писал(а): 30.01.2019 1:49 Версия phpBB*: не самая новая
Если 3.1, то советую обновиться, та ветка одна из самых тяжёлых

Re: Yandex bot и нагрузка на сервер

Добавлено: 31.01.2019 8:45
Perfecthus
Татьяна5 писал(а): 30.01.2019 10:04 Если 3.1, то советую обновиться, та ветка одна из самых тяжёлых
По-моему, ещё древней версия, с МОДами.

Re: Yandex bot и нагрузка на сервер

Добавлено: 01.02.2019 17:04
Nick
KEMnEP писал(а): 30.01.2019 3:50 https://yandex.ru/support/webmaster/con ... s-txt.html
Особенно пункт про Crawl-delay
Залез в вебмастер, там у них есть настройка частоты захода - сделал меньше, не помогло.
Сделал crawl-delay - пока не помогла (сделал пол часа назад)...
Татьяна5 писал(а): 30.01.2019 10:04 Если 3.1, то советую обновиться, та ветка одна из самых тяжёлых
Как правильно заметил предатор версия еще старее, все никак не могу обновиться - есть несколько ручных улучшений - придется заново переделывать, но чувствую скоро соберусь - за одно все лишнее уберу :)
Но сильно не поможет - яндекс начнет с новой энергией индексировать новый сайт :).
Ну и не поможет - т.к. сервера на обычную жизь хватает, на форуме максимум 300-400 человек сидит - а это ну от силы запрос в секунду (ну 10 запросов в секунду максимум). А тут 500 одновременных активных скачиваний это как бы в 500 раз больше нормальной активности!

Re: Yandex bot и нагрузка на сервер

Добавлено: 02.02.2019 6:39
Perfecthus
Nick, Так вроде как, сейчас получше стало.
А обновиться, я тебе ещё года три тому рекомендовал.

Re: Yandex bot и нагрузка на сервер

Добавлено: 02.02.2019 9:47
Perfecthus
Nick, Что-то снова тормоза начались.

Re: Yandex bot и нагрузка на сервер

Добавлено: 02.02.2019 12:35
southklad
Что-то мне кажется вся дело не в яндексе, а в сервере или хостинге

Re: Yandex bot и нагрузка на сервер

Добавлено: 02.02.2019 13:24
Siava
Причём сервер этот очень дохлый.

Re: Yandex bot и нагрузка на сервер

Добавлено: 04.02.2019 0:43
Nick
В каком смысле дохлый? И как это соотносится с 500 активными загрузками?

Re: Yandex bot и нагрузка на сервер

Добавлено: 05.02.2019 13:16
Siava
Nick, в смысле, что долго отдаёт контент, долго обрабатывает запросы.
Вероятно следует настроить keep alive, serverlimit.
Гляньте в сторону mod_evasive.
А ещё лучше отказаться от прожорливого apache.

Re: Yandex bot и нагрузка на сервер

Добавлено: 07.02.2019 1:08
Nick
В общем исседование проблемы пришо к следующему:
Запрос на загрузку файла (яндексом) может висеть несколько минут. (такое ощущение, что каждый запрос подвисает, ибо критическая масса запросов набирается за 40 секунд при среднем коичестве 2-4 запроса в секунду).
При этом, тупо скопировав запрос в браузер, получаем мгновенный ответ.
Ситуацию можно повторить например через wget с установленным пределос скорости загрузки. Тогда подвисает процесс мееедленно отдающий файл.

Да, все висящие процессы это запросы к downloads/file.php
Попробовал почистить скрипт от лишнего, для начала убрал условия по msie<7 - не помогло.

Сейчас думаю, может эли на это повлиять размер файла отдаваемый в header?

ЗЫ file.php в 3.2 не сильно отличается от моей версии.

Re: Yandex bot и нагрузка на сервер

Добавлено: 07.02.2019 9:53
Pazh
Nick, на первый взгляд возможно несколько причин: огромное кол-во вложений в одной папке files (но хотя если через браузер открывается сразу, то маловероятно), другая - настройка сервера на отдачу статики для каких-то критериев ограничена.

Re: Yandex bot и нагрузка на сервер

Добавлено: 07.02.2019 10:33
Perfecthus
Pazh, Файлов там - мама не горюй!