Como analiso um resultado do Apache Bench?

6

Preciso de ajuda para analisar um log do Apache Bench:

Benchmarking texteli.com (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests


Server Software:
Server Hostname:        texteli.com
Server Port:            80

Document Path:          /4f84b59c557eb79321000dfa
Document Length:        13400 bytes

Concurrency Level:      200
Time taken for tests:   37.030 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Total transferred:      13524000 bytes
HTML transferred:       13400000 bytes
Requests per second:    27.01 [#/sec] (mean)
Time per request:       7406.024 [ms] (mean)
Time per request:       37.030 [ms] (mean, across all concurrent requests)
Transfer rate:          356.66 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       27   37  19.5     34     319
Processing:    80 6273 1673.7   6907    8987
Waiting:       47 3436 2085.2   3345    8856
Total:        115 6310 1675.8   6940    9022

Percentage of the requests served within a certain time (ms)
  50%   6940
  66%   6968
  75%   6988
  80%   7007
  90%   7025
  95%   7078
  98%   8410
  99%   8876
 100%   9022 (longest request)

O que esses resultados podem me dizer? Não é 27 rps muito lento?

    
por Alan Hoffmeister 11.04.2012 / 00:56

2 respostas

12

Ao executar testes de carga, escolher um número arbitrário e acessar seu servidor geralmente não é um bom caminho a percorrer. Tudo o que você comprovou é que o seu servidor pode lidar com 200 visitantes simultâneos, desde que eles não se importem de esperar ~ 7 por sua solicitação para carregar. O que você provavelmente quer fazer é:

  1. Primeiro, estabeleça uma linha de base. Use 1 visitante (simultaneidade de 1).
  2. Em segundo lugar, comece a aumentar os números. Por exemplo, 1, 10, 25, 50, 100, 125, 150, 200, etc.
  3. Finalmente, verifique se essas solicitações são executadas por períodos prolongados (ou seja, não apenas inicie-a e, em seguida, ^ C it)

Depois de obter seus resultados, faça um gráfico deles: número de visitantes em comparação com os tempos médios de solicitações, incluindo as barras máxima e mínima. Basicamente, o teste de carga de um aplicativo arbitrário é tão útil quanto os testes relevantes; neste caso, por exemplo, se for preciso 1 visitante 6s para carregar uma página, então 7s uma página para 200 visitantes não parece ruim, não é?

    
por 11.04.2012 / 01:07
1

você pode começar definindo um número de solicitações de inicialização e o número de solicitações simultâneas e verificar os resultados da seguinte forma:

- Total Number of Requests per seconds
- Average Time Per Request
- Average waiting / processing / connecting times

você pode ampliá-los aumentando o número de conexões simultâneas até chegar perto do número esperado de usuários e observar a resposta do seu serviço e repeti-lo por várias vezes, verificar a variação de tempo e obter a média

    
por 23.10.2014 / 20:34

Tags