Dicas para benchmarking e teste de carga do servidor web?

3

Estou tentando testar e carregar várias configurações de servidor da Web (mod_php vs php como fastcgi, configuração de trabalhador / thread / max / min e assim por diante). Estou começando com ab, mas estaria interessado em outras ferramentas recomendadas para este trabalho. O servidor da Web é um servidor Linux, mas, se necessário, posso executar ferramentas de teste baseadas no Windows a partir da minha máquina de desktop.

Também estou interessado em quaisquer recomendações quanto à técnica. Por exemplo:

  • Estou assumindo que obteremos resultados mais úteis em execução em uma máquina separada, sem fazer mais nada (em vez de executar na mesma máquina que o servidor da Web ou em minha máquina de desktop como um processo em segundo plano). Isso está correto?

  • Da mesma forma, acho que posso reduzir os efeitos de problemas de rede nos testes colocando essa máquina no mesmo data center em um IP privado.

  • Eu quero configurar mais do que apenas um único arquivo para obter qualquer tipo de teste real (posso até fazer isso com ab?).

Alguma outra dica?

    
por Brian 28.08.2010 / 18:31

1 resposta

2

Eu gosto de criar uma sala de aula com computadores que executam o cerco .

Eu rastreio o site uma vez usando o wget

wget -r -l0 -np -O /dev/null http://domainname.com
// Note that the -l0 means that it will recurse infinitly, depending on your site, 
// you might want to change that to something lower, say ... -l3
// This will crawl the site, and throw all the contents away.

Depois, busco todos os URLs únicos dos logs do servidor usando um oneliner como este:

awk '{ print "http://domainname.com"$7 }' access.log | sort | uniq

Em seguida, o cerco pode ser configurado para usar esse arquivo e, em seguida, será feito em ordem aleatória.

siege -f siegeurls -i -b

Ele também pode ser configurado para enviar vários cabeçalhos, definir useragent e outros.

Eu recomendo que você dê uma olhada no cerco. Esta é a configuração que eu uso quando testo sites de internet pessoalmente.

    
por 28.08.2010 / 18:44