Eu recomendaria mod_status para depurar este problema. O mod_status é ótimo para fornecer informações sobre a atividade e o desempenho do servidor.
Eu recentemente instalei o Varnish para ficar na frente do Apache em um servidor dedicado executando um único site. Parece estar funcionando bem, mas a carga no Apache ainda é muito alta. O que não faz sentido é que o log de acesso do Apache mostre quase nenhum tráfego passando pelo verniz. Quando eu acompanho o log do apache, vejo cerca de 1 a 3 ocorrências por segundo.
Aqui está a aparência da carga no Apache:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
apache 13834 8.1 1.0 107716 34164 ? S 08:24 0:02 /usr/sbin/httpd
apache 13835 8.1 1.0 107716 33856 ? S 08:24 0:02 /usr/sbin/httpd
apache 11483 7.9 0.9 105916 30788 ? S 08:23 0:06 /usr/sbin/httpd
apache 12255 7.5 1.0 107476 33312 ? S 08:24 0:04 /usr/sbin/httpd
apache 9340 7.2 1.1 107732 34916 ? R 08:23 0:09 /usr/sbin/httpd
apache 12029 6.8 0.9 106908 30416 ? S 08:24 0:04 /usr/sbin/httpd
apache 11577 6.7 1.0 107192 34180 ? S 08:24 0:05 /usr/sbin/httpd
apache 11486 6.6 1.0 106176 33112 ? S 08:23 0:05 /usr/sbin/httpd
apache 11796 6.4 1.0 106936 31916 ? S 08:24 0:04 /usr/sbin/httpd
apache 13815 6.3 1.0 107988 34464 ? S 08:24 0:02 /usr/sbin/httpd
apache 18089 6.3 1.3 107444 43212 ? S 08:11 0:52 /usr/sbin/httpd
apache 11797 5.9 1.0 107716 34580 ? S 08:24 0:04 /usr/sbin/httpd
apache 7655 5.9 0.0 0 0 ? Z 08:22 0:09 [httpd] <defunct>
mysql 8033 5.9 6.2 318240 199512 ? Sl May14 352:34 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/va
apache 11488 5.8 0.9 106924 31632 ? S 08:23 0:04 /usr/sbin/httpd
apache 9375 5.7 1.1 106956 35552 ? S 08:23 0:07 /usr/sbin/httpd
apache 3551 5.6 1.1 106956 36140 ? S 08:20 0:14 /usr/sbin/httpd
apache 7657 5.6 1.0 106968 32472 ? S 08:22 0:09 /usr/sbin/httpd
apache 11433 5.6 1.0 107716 34396 ? S 08:23 0:04 /usr/sbin/httpd
apache 5505 5.5 1.1 106944 34924 ? S 08:21 0:12 /usr/sbin/httpd
apache 7172 5.3 1.1 106972 35368 ? S 08:22 0:09 /usr/sbin/httpd
apache 10088 5.2 0.9 106160 31240 ? S 08:23 0:04 /usr/sbin/httpd
apache 7656 5.1 1.0 106436 34388 ? S 08:22 0:08 /usr/sbin/httpd
apache 3468 5.0 1.1 107716 35968 ? S 08:20 0:13 /usr/sbin/httpd
apache 14242 4.8 1.0 107728 33032 ? S 08:25 0:00 /usr/sbin/httpd
apache 3578 4.8 1.1 107988 35964 ? S 08:20 0:12 /usr/sbin/httpd
apache 28192 4.8 1.2 106944 38060 ? S 08:17 0:23 /usr/sbin/httpd
apache 3277 4.6 1.1 106956 35688 ? S 08:20 0:13 /usr/sbin/httpd
apache 15434 3.7 0.7 106908 24684 ? S 08:25 0:00 /usr/sbin/httpd
Existe um log apache padrão e, em seguida, uma outra configuração de log do VirtualHost.
Estou preocupado que o Apache esteja lidando com algum tipo de tráfego que não está sendo registrado. Isso é possível? E há algo que eu possa fazer para capturar esse tráfego?
Eu recomendaria mod_status para depurar este problema. O mod_status é ótimo para fornecer informações sobre a atividade e o desempenho do servidor.
Você pode capturar o tráfego usando tcpdump
. Por exemplo:
tcpdump port 80 or port 443
Você pode usar tcpdump
para capturar o tráfego para um arquivo e abri-lo com o Wireshark depois:
tcpdump -s 65535 -w <some-file> port 80 or port 443
Tags performance apache-2.2