Saltar al contenido principal

Reporte de Prueba de Carga

Resumen para Clientes

Hemos realizado una prueba especial para asegurarnos de que nuestro sistema pueda manejar un gran número de operaciones sin problemas, especialmente en momentos de mucha actividad. Esta prueba simula lo que sucedería si un promedio de 20 a 50 usuarios decidieran usar nuestro servicio al mismo tiempo. Nos complace informar que nuestro sistema ha respondido muy bien a esta situación simulada, manteniéndose estable y eficiente. Esto significa que pueden confiar en que nuestro servicio será confiable y rápido, incluso cuando los usuarios esperados lo estén utilizando simultáneamente.

Detalles de la Prueba

La prueba de carga fue diseñada para simular un escenario de alta demanda en nuestro sistema, utilizando un script Bash para enviar solicitudes a un servidor. El objetivo principal era verificar la capacidad del servidor para manejar un volumen intensivo de operaciones de escritura bajo condiciones controladas.

Configuración del Script

El script Bash utilizado generaba solicitudes HTTP POST hacia el endpoint de nuestra API, con los siguientes detalles:

  • Número Total de Solicitudes: 300
  • Tiempo de Espera entre Lotes de Solicitudes: 10 segundos
  • Endpoint de API: http://localhost:6000/roles/create

El script simulaba la creación de roles de usuario con IDs únicos generados al vuelo. Cada 50 solicitudes, el script hacía una pausa de 10 segundos para simular un uso intermitente típico de un entorno de producción real.

Código del Script

#!/bin/bash

# Total number of requests
TOTAL_REQUESTS=300

# Sleep time between batches (in seconds)
SLEEP_TIME=10

# API endpoint
API_ENDPOINT="http://localhost:6000/roles/create"

for ((i = 1; i <= $TOTAL_REQUESTS; i++)); do
UUID=$(python3 -c "import uuid; print(str(uuid.uuid4()))" | tr -d '\n')
echo "Creating role with ID: $UUID"

JSON_DATA="{\"id\":\"$UUID\",\"title\":\"Administrator\",\"created_at\":\"2024-04-12T12:00:00Z\",\"updated_at\":\"2024-04-12T12:00:00Z\"}"
curl -X POST -H "Content-Type: application/json" -d "$JSON_DATA" $API_ENDPOINT

if [ $((i % 50)) -eq 0 ]; then
sleep $SLEEP_TIME
fi
done

Resultados de la Prueba

Rendimiento del Servidor

Durante la ejecución de la prueba, el servidor mostró una capacidad robusta para manejar el flujo de solicitudes:

  • Máximo Uso de CPU: 87%
  • Ambientes de Prueba: Producción y Desarrollo por separado

Observaciones

  • Estabilidad: No se observaron caídas ni errores críticos durante la prueba.
  • Respuesta del Servidor: El tiempo de respuesta se mantuvo constante y no se vio afectado significativamente por el volumen de solicitudes.
  • Capacidad de Usuarios: La simulación fue diseñada teniendo en cuenta un número de usuarios concurrentes entre 20 y 50, demostrando que el servidor puede manejar esta carga sin problemas.

Conclusión

El servidor demostró ser capaz de soportar una carga significativa sin degradar el rendimiento ni la calidad del servicio. Este resultado nos proporciona confianza en nuestra infraestructura actual para manejar aumentos similares en la carga de trabajo en condiciones de producción real.