Como posso reproduzir os logs de acesso do Apache nos meus servidores para fazer testes de carga no mundo real?

13

Eu olhei para Ferramentas para testar servidores HTTP de carga? mas não consegui ver como reproduzir meus próprios logs existentes em nenhuma dessas ferramentas. Eu tenho um bug que ocorre apenas sob determinadas operações de carregamento que meu material de teste JMeter e AB existente não pode reproduzir.

Quero simplesmente dar à ferramenta access_logs e reproduzi-la, seja mais rápida ou com a mesma velocidade.

Stewart Robinson
fonte

Respostas:

14

Você pode usar o componente Access Log Sampler do Jmeter .

Há um breve tutorial sobre o uso deste PDF .

Dan Carley
fonte
3
Eu tentei isso e, obviamente, devo ser um idiota porque não consegui fazê-lo funcionar bem. Acabei usando o script python no insom.me.uk/z/2009/02/...
Stewart Robinson
Como o link original está inoperante, eis o arquivo
Walty Yeung
Ok, caso outras pessoas encontrem isso, este script tem um problema com a segmentação. Um ser necessário substituir threadlib com threadinglib ( stackoverflow.com/questions/19558401/... )
Walty Yeung
1

Supondo que tudo o que você tem em seu log de acesso são solicitações GET, e você não se importa com as solicitações agrupadas no limite de resolução dos carimbos de data e hora nos logs, cerca de 10 linhas de $ SCRIPTING_LANGUAGE devem fazer o truque. POSTs, cookies, autenticação HTTP e tempo mais sutil são um exercício muito mais interessante.

mulher
fonte
-2

Eu faria algo um pouco diferente. Entendo sua pergunta, mas se você estiver olhando para carregar seu servidor, talvez queira procurar na ferramenta 'ab'. Ele vem com a maioria das instalações do apache. Corrida:

ab -c 15 -n 1000 http://site.name/

Realizará 1000 solicitações, fazendo 15 solicitações por vez. Sei que isso não é exatamente o que você está procurando e só consultará o endereço que você fornecer. Se você precisar carregar, é uma maneira rápida e simples de fazê-lo, e fornecerá algumas estatísticas potencialmente muito úteis para depuração.

TrueDuality
fonte
Se a pergunta diz "Eu tenho um bug que o teste [...] AB não pode [...] reproduzir", por que você sugere o uso do AB?
Womble
Eu senti falta da AB listada nas ferramentas. : p Gostaria de dizer que foi uma edição, mas sinceramente não tenho certeza.
314 TrueDuality
-2

Por que você não desenvolve o seu próprio? Obtenha o log; analisá-lo. Obtenha o URI. Faça chamada de onda. Você pode escrever isso em php e executá-lo no apache por simultaneidade.

Se seus logs estão no formato gz, faça um zcat, use o recurso readlog. Isso dará URL. Agora use phpCurl para acessar a URL. Para maior rendimento, execute-o no apache (use ab para carregá-lo).

Prashant R Kumar
fonte
1
Então eu vou ter dois aplicativos para carregar o teste. Isso seria distorcido.
Stewart Robinson