Como determinar o número de arquivos que um apache está servindo sem desacelerar o servidor?

1

Eu tenho dois servidores web Apache que servem milhares de arquivos por segundo. Quero comparar os dois servidores da Web para determinar quem é realmente mais rápido em termos de quem pode servir mais arquivos / s.

mod_status com ExtendedStatus On faria exatamente esse trabalho, mas isso atrasa muito a máquina. Escusado será dizer que não há registros de acesso também.

Qual seria uma maneira fácil de determinar o número de arquivos / solicitações que os apaches estão veiculando?

    
por bene 21.05.2009 / 22:06

4 respostas

1

Aliviaria o impacto de ativar o registro em log para registrar em um servidor remoto ?

    
por 21.05.2009 / 22:46
1

Você poderia executar o tcpdump em uma máquina na frente dos servidores da Web? (como um firewall ou servidor proxy)

    
por 21.05.2009 / 22:48
0

Se o mod_status não for uma opção, talvez o apachetop seja uma opção? Se você não puder executar logs de acesso ou mod_status, será bastante limitado.

    
por 21.05.2009 / 22:09
0

Você pode usar o CustomLog para criar um arquivo de log muito básico que seja barato para atualizar. Eventualmente, você pode armazená-lo em algum lugar no NFS para limitar a E / S à unidade local. Se você tiver memória suficiente e precisar dessas estatísticas por um período limitado, poderá colocar o registro na memória. Algo como:

LogFormat "%t %f %T" my_log  
CustomLog /some/nfs/mount/point/logs/access_log my_log

Irá lhe dar tempo da solicitação, nome do arquivo e hora para honrar a solicitação. link

Para registro em memória, use um ponto de montagem tmpfs:

mount -ttmpfs -odefaults,noatime,size=100M,nr_inodes=5k /some/mount/point 
    
por 19.10.2009 / 04:59