Я уже довольно давно столкнулся с проблемой на одном из моих серверов. Короче говоря, сервер получает огромные всплески нагрузки - до 50, но сайт почти не получает трафика. Я знаю, что это может быть связано с плохими стандартами кодирования, большими процессами PHP и плохо сформированными операторами MySQL, однако сайт работает нормально 90% времени.
Я проверял журналы доступа во время пиков, и чаще всего это был какой-то неизвестный поисковый робот, который пытается загрузить миллион страниц одновременно и вызывает проблемы.
Однако в последнее время я получаю журналы доступа, которые показывают что-то похожее на:
127.0.0.1 - - [13/Aug/2014:08:39:55 -0700] "GET /index.php HTTP/1.1" 200 20579 "-" "-"
где нет строки пользовательского агента. О чем я бы обычно не заботился, кроме этого неизвестного пользовательского агента, который запрашивает 100 страниц в течение нескольких секунд, которые начинаются с HTTP 200, затем с ошибками 499, а при перегрузках сервера возникает 502, а затем 503 ошибки. Поэтому я не могу заблокировать его в robots.txt или в любом другом черном списке, потому что мне нечего добавить в черный список / запретить.
Стек представляет собой стандартный ubuntu, nginx, php-fpm, MySQL с кешированием Varnish.
Кто-нибудь знает, что здесь происходит?