Como posso fazer o replay dos logs de acesso do Apache nos meus servidores para fazer o teste de carga do mundo real?

12

Eu olhei para Ferramentas para servidores HTTP de teste de carga? mas eu Não consegui ver como reproduzir meus logs existentes em nenhuma dessas ferramentas. Eu tenho um bug que ocorre apenas sob certas operações de carga que meus materiais de teste JMeter e AB existentes não podem reproduzir.

Eu quero simplesmente dar a ferramenta access_logs e fazer com que ela seja reproduzida, com mais rapidez ou com a mesma velocidade.

    
por Stewart Robinson 12.11.2009 / 15:25

5 respostas

13

Você pode usar o componente Amostrador de log de acesso do Jmeter.

Há um breve tutorial sobre seu uso em este PDF .

    
por 12.11.2009 / 15:35
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 timestamps nos logs, cerca de 10 linhas de $ SCRIPTING_LANGUAGE devem fazer o truque. POSTs, cookies, autenticação HTTP e temporizações mais sutis são um exercício muito mais interessante.

    
por 12.11.2009 / 15:29
-1

Isso exigiria um programa, como um aplicativo de teste de carga, que suporta repetição de log HTTP. Um desses aplicativos é HTTPerf ( link ).

Um artigo de instruções está no link

    
por 27.03.2015 / 18:36
-2

Eu faria algo um pouco diferente. Eu entendo a sua pergunta, mas se você está olhando para carregar o seu servidor, você pode querer olhar para a ferramenta 'ab'. Ele vem com a maioria das instalações do apache. Executando:

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

Realizará 1000 solicitações fazendo 15 solicitações por vez. Eu sei que isso não é exatamente o que você está procurando, e isso só irá consultar o endereço que você dá. Se você precisa carregar esta é uma maneira rápida e simples de fazer isso, e isso lhe dará algumas estatísticas potencialmente muito úteis para depuração.

    
por 12.11.2009 / 15:35
-2

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

Se os seus logs estiverem no formato gz, faça um zcat, use o recurso de log de leitura. Isso vai dar URL. Agora use o phpCurl para acessar o URL. Para maior taxa de transferência, execute-o no apache (use ab para carregá-lo).

    
por 04.01.2013 / 18:18