Teste de carga do servidor da web Apache (em execução no Centos6) [fechado]

1

Como posso testar facilmente quantas solicitações minha configuração de servidor da web (Apache) pode manipular sem descartar uma conexão ou tempo limite.

Existe algum script bash simples ou eu tenho que usar alguma ferramenta sofisticada de teste de estresse.

    
por Ijaz Ahmad Khan 15.01.2016 / 17:49

1 resposta

5

Você pode testar isso usando ab , um software que reside dentro de apache2-utils package. Exemplo:

ab -r -n 100 -c 10 -k -H "Accept-Encoding: gzip, deflate" http://mysite.mydomain.com/
  • -r : evite sair em erros de soquete.
  • -n : número de pedidos a realizar.
  • -c : Número de várias solicitações sendo executadas em simultaneidade.
  • -k : ative o HTTP KeepAlive. Significa que irá realizar várias solicitações por sessão Http.
  • -H : cabeçalho personalizado. Depende muito de como o seu site está configurado.

Aqui está o resultado de um teste que fiz em um site simples com apenas uma página de índice (php):

# ab -r -n 200 -c 20 -k -H "Accept-Encoding: gzip, deflate" http://intranet.example.com/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking intranet.example.com (be patient)
Completed 100 requests
Completed 200 requests
Finished 200 requests


Server Software:        Apache/2.2.15
Server Hostname:        intranet.example.com
Server Port:            80

Document Path:          /
Document Length:        10276 bytes

Concurrency Level:      20
Time taken for tests:   38.344 seconds
Complete requests:      200
Failed requests:        0
Write errors:           0
Keep-Alive requests:    0
Total transferred:      2132800 bytes
HTML transferred:       2055200 bytes
Requests per second:    5.22 [#/sec] (mean)
Time per request:       3834.421 [ms] (mean)
Time per request:       191.721 [ms] (mean, across all concurrent requests)
Transfer rate:          54.32 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.1      0       1
Processing:  2869 3813 383.1   3649    5205
Waiting:     2868 3781 380.4   3613    5161
Total:       2869 3814 383.1   3650    5205

Percentage of the requests served within a certain time (ms)
  50%   3650
  66%   3763
  75%   3971
  80%   4318
  90%   4451
  95%   4530
  98%   4634
  99%   5093
 100%   5205 (longest request)

No entanto, você terá que levar algum tempo entre os testes, garantir que o serviço httpd não esteja sobrecarregado e aumentar todos os parâmetros para atingir mais o servidor. Até onde eu sei, não existe uma ferramenta que avalie essa saída e aumente os parâmetros de medição de desempenho imediatamente.

Links :

  • ab manpage - Ferramenta de comparação de desempenho HTTP do Apache
por 15.01.2016 / 18:31