Descubre el poder de oha: pruebas de rendimiento web de forma sencilla
Aprende a usar oha para realizar pruebas de carga en tu sitio web. Guía sencilla con ejemplos prácticos para medir el rendimiento, la capacidad de procesamiento y los tiempos de respuesta de tu sitio.
8 min de lectura

El rendimiento de un sitio web es crucial para la experiencia del usuario y el SEO. En esta guía aprenderás a usar oha, una herramienta ligera de pruebas de carga HTTP, para medir el rendimiento de tu sitio web bajo carga. Tanto si eres desarrollador como propietario de un sitio, estas pruebas te ayudarán a entender las capacidades de tu web.
¿Qué es oha?

oha (おはよう) es:
- Una herramienta moderna y ligera de pruebas de carga HTTP
- Escrita en Rust para un rendimiento óptimo
- Perfecta para pruebas rápidas de rendimiento web
- Con visualización de resultados en tiempo real
Ventajas principales:
| Característica | Ventaja |
|---|---|
| Velocidad | Ejecución rápida con un uso mínimo de recursos |
| Simplicidad | Funciona con un solo comando |
| Salida visual | Métricas en tiempo real |
| Informes detallados | Estadísticas de rendimiento completas |
Instalación
Elige tu sistema operativo y sigue estos sencillos pasos:
Linux:
cargo install ohaMacOS:
brew install ohaWindows:
winget install hatoo.ohaUso básico
Comando de prueba sencillo:
oha https://yourwebsite.comTabla de opciones comunes:
| Opción | Descripción | Ejemplo |
|---|---|---|
| -n | Solicitudes totales | oha -n 200 https://site.com |
| -c | Usuarios simultáneos | oha -c 50 https://site.com |
| -q | Solicitudes por segundo | oha -q 100 https://site.com |
| –no-tui | Desactivar la interfaz visual | oha –no-tui https://site.com |
Interpretación de los resultados
Analicemos una salida típica:
Summary:
Success rate: 100.00%
Total: 0.6689 secs
Slowest: 0.4123 secs
Fastest: 0.0733 secs
Average: 0.1557 secs
Requests/sec: 299.0098Métricas clave explicadas:
| Métrica | Qué significa | Valores adecuados |
|---|---|---|
| Tasa de éxito | Porcentaje de solicitudes correctas | Debería estar cerca del 100 % |
| Tiempo medio | Tiempo medio de respuesta | Menos de 1 segundo |
| Solicitudes/seg | Capacidad de procesamiento | Depende de tus necesidades |
| La más lenta | Peor tiempo de respuesta | No debería superar 3 veces la media |
Distribución de los tiempos de respuesta
El desglose por percentiles muestra cómo rinde tu sitio en todas las solicitudes:
- Percentil 50 (mediana): experiencia de usuario normal
- Percentil 90: respuestas más lentas pero aceptables
- Percentil 99: peores escenarios
Salida real:
╰─❯ oha https://www.bitdoze.com
Summary:
Success rate: 100.00%
Total: 0.6689 secs
Slowest: 0.4123 secs
Fastest: 0.0733 secs
Average: 0.1557 secs
Requests/sec: 299.0098
Total data: 2.08 MiB
Size/request: 10.64 KiB
Size/sec: 3.11 MiB
Response time histogram:
0.073 [1] |
0.107 [144] |■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
0.141 [5] |■
0.175 [0] |
0.209 [0] |
0.243 [0] |
0.277 [0] |
0.311 [5] |■
0.345 [15] |■■■
0.378 [18] |■■■■
0.412 [12] |■■
Response time distribution:
10.00% in 0.0803 secs
25.00% in 0.0847 secs
50.00% in 0.0935 secs
75.00% in 0.3010 secs
90.00% in 0.3617 secs
95.00% in 0.3813 secs
99.00% in 0.4108 secs
99.90% in 0.4123 secs
99.99% in 0.4123 secs
Details (average, fastest, slowest):
DNS+dialup: 0.0811 secs, 0.0488 secs, 0.1036 secs
DNS-lookup: 0.0001 secs, 0.0000 secs, 0.0005 secs
Status code distribution:
[200] 200 responsesEscenarios básicos de prueba
- Comprobación rápida del estado
oha -n 100 https://yoursite.comPropósito: visión general rápida del rendimiento del sitio
- Prueba de carga
oha -n 1000 -c 50 https://yoursite.comPropósito: simular varios usuarios simultáneos
- Prueba de estrés
oha -n 2000 -c 100 -q 200 https://yoursite.comPropósito: encontrar los límites de rendimiento
Ejemplos de pruebas del mundo real
1. Pruebas de endpoints de API
oha -n 500 -c 50 -m POST -T "application/json" -d '{"key":"value"}' https://api.yoursite.com/endpointParámetros para probar una API:
| Parámetro | Descripción | Uso |
|---|---|---|
| -m POST | Método HTTP | Para llamadas a la API |
| -T | Tipo de contenido | Especifica el formato de los datos |
| -d | Cuerpo de la solicitud | Envía datos |
2. Simulación de tráfico máximo
oha -n 2000 -c 100 --disable-keepalive https://yoursite.comConfiguración para tráfico máximo:
- Más conexiones simultáneas (-c)
- Keepalive desactivado para mayor realismo
- Mayor número de solicitudes (-n)
Interpretación de los resultados
Tabla de métricas de rendimiento
| Métrica | Bueno | Advertencia | Crítico |
|---|---|---|---|
| Tiempo de respuesta | < 1s | 1-3s | > 3s |
| Tasa de éxito | > 99 % | 95-99 % | < 95 % |
| Solicitudes/seg | Depende del sitio | Caída del 20 % | Caída > 30 % |
Problemas comunes y soluciones
- Tiempos de respuesta elevados
- Posibles causas:
- Recursos del servidor agotados
- Cuellos de botella en la base de datos
- Código sin optimizar
- Soluciones:
- Implementar caché
- Optimizar las consultas a la base de datos
- Ampliar los recursos del servidor
- Solicitudes fallidas
- Posibles causas:
- Tiempo de espera del servidor agotado
- Limitación de tasa (rate limiting)
- Problemas de red
- Soluciones:
- Aumentar los valores de tiempo de espera
- Ajustar los límites de tasa
- Comprobar la configuración de red
Buenas prácticas para las pruebas de carga
Qué hacer y qué no hacer
✅ Sí:
- Empieza con pruebas pequeñas
- Prueba en horas de poco tráfico
- Monitoriza los recursos del servidor
- Prueba con regularidad
- Documenta los resultados
❌ No:
- Probar producción sin avisar
- Ejecutar pruebas desde servidores de producción
- Ignorar las tasas de error
- Probar un solo endpoint
Comparación de oha con k6
k6 es una herramienta moderna de pruebas de carga de Grafana Labs que utiliza JavaScript para crear escenarios de prueba. A diferencia del sencillo enfoque por línea de comandos de oha, k6 te permite escribir scripts de prueba complejos que pueden simular comportamientos reales de los usuarios.
Comparación de características
| Característica | oha | k6 |
|---|---|---|
| Facilidad de uso | ★★★★★ | ★★★☆☆ |
| Requiere scripting | No | Sí |
| Métricas en tiempo real | Básicas | Avanzadas |
| Curva de aprendizaje | Mínima | Moderada |
| Integración con CI/CD | Limitada | Amplia |
Cuándo usar cada herramienta
Usa oha para:
- Comprobaciones rápidas de rendimiento
- Pruebas HTTP sencillas
- Resultados inmediatos
- Operaciones desde la línea de comandos
Usa k6 para:
- Escenarios de usuario complejos
- Análisis detallados de rendimiento
- Integración en pipelines de CI/CD
- Scripts de prueba personalizados
Conclusión
Las pruebas de carga web con oha ofrecen una forma sencilla y eficaz de medir y comprender el rendimiento de tu sitio en distintas condiciones. A lo largo de esta guía hemos visto cómo instalar y usar oha, cómo interpretar sus resultados y cómo aplicar las buenas prácticas para realizar pruebas de carga eficaces.
Recuerda que realizar pruebas con regularidad, documentar los resultados con cuidado y escalar gradualmente los parámetros de las pruebas son claves para mantener un rendimiento web óptimo. Tanto si gestionas un blog pequeño como una aplicación web compleja, la sencillez y las potentes funciones de oha lo convierten en una excelente opción para la monitorización rutinaria del rendimiento y las pruebas de carga. Al poner en práctica estas pruebas, céntrate en establecer métricas de referencia, monitorizar los cambios a lo largo del tiempo y usar la información obtenida para mejorar continuamente el rendimiento de tu sitio web y la experiencia del usuario.


