Pruebas de performance: diseño, ejecución y resultados - SebaUSM/GRUPO02-2025-PROYINF GitHub Wiki
1. Introducción
El objetivo de estas pruebas es evaluar la capacidad del sistema para responder bajo carga en tres escenarios típicos: consulta de boletines, generación de resultados vía OpenAI, y solicitudes simultáneas mixtas. Se ejecutará tan solo una prueba, la cual será la de generación de resultados vía OpenAI, usando Apache JMeter.
2. Diseño de pruebas
Prueba | Descripción | Objetivo | Carga simulada | Métrica esperada |
---|---|---|---|---|
Prueba 1 | Acceso concurrente a listado de boletines (GET /boletines ) |
Verificar estabilidad y tiempo de respuesta al consultar la lista de boletines | 30 usuarios concurrentes durante 1 minuto | Tiempo medio de respuesta < 1000 ms |
Prueba 2 | Búsqueda semántica por palabra clave (POST /buscar ) |
Evaluar tiempo de respuesta de la API con OpenAI bajo múltiples solicitudes | 10 usuarios simultáneos haciendo búsquedas distintas | Tiempo medio < 3000 ms; tasa de error 0% |
Prueba 3 | Carga mixta (GET y POST combinados) | Verificar estabilidad del sistema cuando se mezclan consultas y análisis simultáneos | Ramp-up de 10 a 40 usuarios, 60% GET, 40% POST | No degradación mayor al 25% en rendimiento |
3. Ejecución de prueba
/buscar
Prueba 2 – POST - Configuración:
- 10 usuarios
- Cada uno hace una búsqueda con palabras clave distintas
- Se mide el tiempo de respuesta desde la petición hasta la recepción del resultado procesado por OpenAI
- Resultados:
-
Para la primera palabra "arándanos":
-
Tiempo medio: 5823 ms
-
Tiempo máximo: 8392 ms
-
Errores: 0% -Ejecución:
-
Gráfico:
-
-
Para la segunda palabra "clima":
- Tiempo medio: 6268 ms
- Tiempo máximo: 7539 ms
- Errores: 0%
- Ejecución:
- Gráfico:
-
Para la tercera palabra "archipiélago:"
-
Tiempo medio: 7781 ms
-
Tiempo máximo: 17461 ms
-
Errores: 0%
-
Ejecución:
-
Gráfico:
-
-
Para la cuarta palabra "":
- Tiempo medio: 10215 ms
- Tiempo máximo: 25303 ms
- Errores: 0%
-Ejecución:
- Gráfico:
-
Gráfico resumen resultados:
4. Análisis y recomendaciones
- El sistema se comporta correctamente bajo condiciones normales y moderadamente exigentes.
- La búsqueda con OpenAI, aunque más costosa en tiempo, se mantiene dentro de rangos aceptables.
- Se recomienda:
- Incorporar caché si el volumen de búsquedas crece.
- Monitorizar uso de recursos (CPU/RAM).
- Realizar pruebas con mayor concurrencia en futuros hitos.
5. Conclusión
Las pruebas, si bien no generaron fallas ni errores directos, arrojaron tiempos de respuesta que superan lo que esperábamos y que consideramos aceptable desde la perspectiva del usuario final. Esto puede deberse a que al aumentar la carga simultánea sobre el sistema, se produce una saturación de recursos, lo que incrementa la latencia, o también puede deberse a la calidad de la api, ya que, si bien esta es de pago de OpenAI, puede que pagando por una mejor los datos sean procesados más rápido o mejores mucho más su funcionamiento.