Apache Bench - Descripción general
Las pruebas de rendimiento han demostrado ser cruciales para el éxito de una empresa. Un sitio de bajo rendimiento no solo enfrenta pérdidas financieras, sino que en ocasiones también puede tener repercusiones legales.
Nadie quiere aguantar un sitio de rendimiento lento y poco confiable en interacciones en línea importantes como compras, exámenes en línea, pago de facturas, etc. Con Internet tan ampliamente disponible, la gama de alternativas es inmensa. Es más fácil perder clientes que ganarlos y el rendimiento es un factor de cambio clave.
Necesidad de una herramienta de prueba de carga
Si podemos entender cuál es la necesidad de una herramienta de prueba de carga, nos dará la razón y la motivación para usarla. Algunos sitios comerciales famosos han sufrido serios tiempos de inactividad cuando reciben una gran cantidad de visitantes. Los sitios web de comercio electrónico invierten mucho en campañas publicitarias, pero no en pruebas de carga. Por lo tanto, no logran garantizar un rendimiento óptimo del sistema cuando ese marketing genera tráfico.
Otro ejemplo familiar de ignorar las pruebas de carga es el de "error al establecer la conexión" en los sitios web de WordPress. Por lo tanto, es una buena idea probar la carga de un sitio web o aplicación antes de su implementación en producción. Es bueno establecer rápidamente el mejor escenario posible para un proyecto antes de ejecutar pruebas más detalladas en el futuro.
¿Qué es Apache Bench?
Apache Bench (ab) es una herramienta de la organización Apache para comparar un servidor web de Protocolo de transferencia de hipertexto (HTTP). Aunque está diseñado para medir el rendimiento del servidor web Apache, también se puede utilizar para probar cualquier otro servidor web que sea igualmente bueno. Con esta herramienta, puede saber rápidamente cuántas solicitudes por segundo su servidor web es capaz de atender.
Características de Apache Bench
Veamos las características y limitaciones importantes de Apache Bench. Las características y limitaciones se enumeran a continuación:
Al ser un software de código abierto, está disponible gratuitamente.
Es un programa informático de línea de comandos simple.
Es una herramienta independiente de la plataforma. Significa que se puede invocar en Linux / Unix o en un servidor Windows igualmente bien.
Puede realizar pruebas de carga y rendimiento solo para servidores web: HTTP o HTTPS.
No es extensible.
Apache Bench utiliza solo un subproceso del sistema operativo independientemente del nivel de simultaneidad (especificado por el indicador -c). Por lo tanto, al comparar servidores de alta capacidad, una sola instancia de Apache Bench puede ser en sí misma un cuello de botella. Para saturar completamente la URL de destino, es mejor usar instancias adicionales de Apache Bench en paralelo, si su servidor tiene múltiples núcleos de procesador.
Precaución
Debe tener en cuenta que no existe una directiva en Apache Bench para aumentar la simultaneidad en intervalos particulares mientras se ejecutan las pruebas. Por lo tanto, ejecutar pruebas de carga usando ab es equivalente a un ataque de denegación de servicio (DOS). Se recomienda que informe y obtenga el permiso previo de su proveedor de servicios VPS si va a realizar pruebas de carga pesada durante un período prolongado. Le asignarán un intervalo de tiempo apropiado o cambiarán su nodo para la tarea de prueba de carga.
En segundo lugar, si está probando el sitio web de una tercera persona de forma continua y durante mucho tiempo solo para aprender Apache Bench desde su VPS (que se convierte en el nodo de prueba), existe una posibilidad remota de que el sitio web de la tercera persona pueda bloquear su IP pública de VPS permanentemente. En ese caso, no podrá conectarse a ese sitio web con la misma IP. Pero si realmente desea conectarse al sitio web en el futuro, la única solución será hablar con el administrador del sistema del sitio web de destino o crear una nueva instancia del servidor con una IP diferente con la ayuda de su proveedor de servicios VPS.
Habiéndolo advertido, permítame asegurarle que todas las pruebas en este tutorial son lo suficientemente seguras y están fuera de lo que los administradores de sistemas generalmente llaman prácticas de "abuso del sistema".