Eu tenho lidado com um problema em um dos meus servidores por um bom tempo agora. Em suma, o servidor recebe grandes picos de carga - até 50 - mas o site quase não recebe tráfego. Eu sei que isso pode estar relacionado a padrões de codificação ruins, grandes processos PHP e instruções MySQL mal formadas, entretanto o site é executado normalmente 90% do tempo.
Eu verifiquei os registros de acesso durante os picos e, na maioria das vezes, seu rastreador de sites desconhecido está tentando carregar um milhão de páginas de uma só vez e causando problemas.
Recentemente, porém, recebi registros de acesso que mostram algo semelhante a:
127.0.0.1 - - [13/Aug/2014:08:39:55 -0700] "GET /index.php HTTP/1.1" 200 20579 "-" "-"
onde não há string do agente do usuário. Com o qual eu normalmente não me importo, este agente de usuário desconhecido está solicitando centenas de páginas em poucos segundos, que começam com erros HTTP 200s e depois 499, e quando as sobrecargas do servidor recebem 502 e depois 503 erros. Por isso, não consigo bloqueá-lo no robots.txt ou em qualquer outra lista negra porque não tenho nada para bloquear / proibir.
A pilha é um padrão do Ubuntu, nginx, php-fpm, MySQL com cache Varnish.
Alguém sabe o que está acontecendo aqui?