[Apache] prueba de carga ab


Answers

Por favor, guíeme a través de los comandos que debería ejecutar para resolver esto.

La prueba más simple que puede hacer es realizar 1000 solicitudes, 10 a la vez (que simula aproximadamente 10 usuarios simultáneos que obtienen 100 páginas cada uno, a lo largo de la prueba).

ab -n 1000 -c 10 -k -H "Accept-Encoding: gzip, deflate" http://www.example.com/

-n 1000 es el número de solicitudes para hacer.

-c 10 le dice a AB que haga 10 solicitudes a la vez, en lugar de 1 solicitud a la vez, para simular mejor a los visitantes concurrentes (frente a los visitantes secuenciales).

-k envía el encabezado KeepAlive , que solicita al servidor web que no cierre la conexión después de cada solicitud, sino que continúe reutilizándola.

También estoy enviando el encabezado adicional Accept-Encoding: gzip, deflate porque mod_deflate casi siempre se utiliza para comprimir el texto / html de salida 25% -75% - los efectos de los cuales no deben descartarse debido a su impacto en el rendimiento general del servidor web (es decir, puede transferir 2x los datos en la misma cantidad de tiempo, etc.).

Resultados:

Benchmarking www.example.com (be patient)
Completed 100 requests
...
Finished 1000 requests


Server Software:        Apache/2.4.10
Server Hostname:        www.example.com
Server Port:            80

Document Path:          /
Document Length:        428 bytes

Concurrency Level:      10
Time taken for tests:   1.420 seconds
Complete requests:      1000
Failed requests:        0
Keep-Alive requests:    995
Total transferred:      723778 bytes
HTML transferred:       428000 bytes
Requests per second:    704.23 [#/sec] (mean)
Time per request:       14.200 [ms] (mean)
Time per request:       1.420 [ms] (mean, across all concurrent requests)
Transfer rate:          497.76 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.1      0       1
Processing:     5   14   7.5     12      77
Waiting:        5   14   7.5     12      77
Total:          5   14   7.5     12      77

Percentage of the requests served within a certain time (ms)
  50%     12
  66%     14
  75%     15
  80%     16
  90%     24
  95%     29
  98%     36
  99%     41
 100%     77 (longest request)

Para la interpretación más simple, ignore todo PERO esta línea:

Requests per second:    704.23 [#/sec] (mean)

Multiplícalo por 60, y tienes tus solicitudes por minuto.

Para obtener resultados del mundo real, querrás probar Wordpress en lugar de HTML estático o archivo index.php porque necesitas saber cómo funciona todo junto: incluyendo código PHP complejo y múltiples consultas MySQL ...

Por ejemplo, aquí están los resultados de probar una instalación nueva de Wordpress en el mismo sistema y entorno WAMP (estoy usando WampDeveloper, pero también hay Xampp, WampServer y otros) ...

Requests per second:    18.68 [#/sec] (mean)

¡Eso es 37 veces más lento ahora!

Después de la prueba de carga, hay varias cosas que puede hacer para mejorar el rendimiento general (Solicitudes por segundo) y también hacer que el servidor web sea más estable bajo mayor carga (por ejemplo, aumentar la -n y la -c tiende a bloquearse) Apache), que puedes leer aquí:

Load Testing Apache con AB (Apache Bench)

Question

¿Puede alguien guiarme por el proceso de cómo puedo cargar la prueba de mi sitio web utilizando apache bench tool ( ab )?

Quiero saber lo siguiente:

¿Cuántas personas por minuto puede manejar el sitio?

Por favor, guíeme a través de los comandos que debería ejecutar para resolver esto.

Intenté cada tutorial, y son confusos.




Cargar la prueba de su API usando solo ab no es suficiente. Sin embargo, creo que es una gran herramienta para darle una idea básica de cómo su sitio está funcionando.

Si desea usar el comando ab para probar múltiples puntos finales API, con datos diferentes, todos al mismo tiempo en segundo plano, debe usar el comando "nohup". Ejecuta cualquier comando incluso cuando cierra la terminal.

Escribí un script simple que automatiza todo el proceso, siéntete libre de usarlo: http://blog.ikvasnica.com/entry/load-test-multiple-api-endpoints-concurrently-use-this-simple-shell-script