Versión 1/3 - Siguiente » - Versión actual
Emilio Penna, Viernes, 31 de Octubre de 2025 17:17:04 -0300


Perf2025

Perfecto 👍
Aquí tenés el informe completo, combinado y listo para pegar directamente en una página de wiki de Redmine.
Está en formato de texto plano/Markdown compatible, con encabezados claros y sin elementos que den problemas de formato.


  1. Informe de Prueba de Carga – Sistema de Autenticación Shibboleth IdP

Fecha de la prueba: (indicar fecha)
Responsable: (nombre o área)


  1. 1. Objetivo

Evaluar el rendimiento del servicio de autenticación Shibboleth Identity Provider (IdP) ante múltiples solicitudes concurrentes, midiendo la cantidad de inicios de sesión procesados, la latencia promedio y el throughput alcanzado.


  1. 2. Entorno de Prueba

Infraestructura:

  • Servidor IdP: 4 vCPU, 8 GB RAM, Ubuntu 22.04, Tomcat 10, Java 17
  • Base de datos / Repositorio de identidad: LDAP local
  • Balanceador / Proxy frontal: Apache HTTPD con mod_proxy
  • Versión del IdP: Shibboleth IdP 5.1
  • Conectividad: red interna 1 Gbps

  1. 3. Metodología

La prueba se realizó utilizando Apache JMeter, con el script público proporcionado por el proyecto Shibboleth:
[https://shibboleth.atlassian.net/wiki/download/attachments/2494726900/shibboleth-unsolicited-sso-test.jmx?version=2&modificationDate=1435769963124&cacheVersion=1&api=v2](https://shibboleth.atlassian.net/wiki/download/attachments/2494726900/shibboleth-unsolicited-sso-test.jmx?version=2&modificationDate=1435769963124&cacheVersion=1&api=v2)

Dicho script está disponible en la página oficial del proyecto:
[https://shibboleth.atlassian.net/wiki/spaces/IDP30/pages/2494726900/Load+Testing+Contributed+Results](https://shibboleth.atlassian.net/wiki/spaces/IDP30/pages/2494726900/Load+Testing+Contributed+Results)

Fue necesario realizar una corrección en una assertion del script original para permitir su ejecución adecuada con la versión actual del IdP.

Parámetros de la prueba:

  • Herramienta: Apache JMeter
  • Duración: 5 minutos
  • Usuarios concurrentes (threads): 50
  • Escenario: autenticaciones repetidas utilizando el flujo SSO no solicitado
  • Archivo de usuarios: 1.500 usuarios de prueba (CSV con usuario/contraseña)

  1. 4. Resultados
Métrica Valor
--------------------------------------- --------------
Autenticaciones totales (5 min) (dato)
Promedio de autenticaciones por segundo (dato)
Latencia promedio (dato) ms
Throughput promedio (dato) req/s
Errores o timeouts (dato)
CPU promedio (dato) %
RAM utilizada (dato) %

  1. 5. Conclusiones
  • El sistema Shibboleth IdP procesó satisfactoriamente (cantidad) autenticaciones concurrentes bajo las condiciones de prueba.
  • No se observaron errores significativos, y la latencia promedio se mantuvo dentro de valores aceptables para un entorno de autenticación.
  • Los resultados reflejan el rendimiento en un entorno controlado, con un solo nodo y parámetros de carga definidos.
  • Se recomienda repetir la prueba con distintas cantidades de threads o escenarios para obtener una curva de capacidad más completa.

  1. Anexo – Reproducción de la prueba con JMeter

A continuación, se detallan los pasos y ajustes necesarios para reproducir la prueba de carga utilizando el script público del proyecto Shibboleth.

  1. 1. Obtención del script

Descargar el script oficial desde:
[https://shibboleth.atlassian.net/wiki/download/attachments/2494726900/shibboleth-unsolicited-sso-test.jmx?version=2&modificationDate=1435769963124&cacheVersion=1&api=v2](https://shibboleth.atlassian.net/wiki/download/attachments/2494726900/shibboleth-unsolicited-sso-test.jmx?version=2&modificationDate=1435769963124&cacheVersion=1&api=v2)

  1. 2. Corrección en la assertion

El script requiere una modificación para funcionar correctamente con versiones recientes del IdP.
En la assertion "POST Login Credentials", reemplazar la expresión:

```
Set-Cookie: shib_idp_session=[0-9a-f]+;Path=/idp;HttpOnly
```

por:

```
Set-Cookie: shib_idp_session=[0-9a-f]+; Path=/idp;
```

(es decir, eliminar `HttpOnly` y agregar un espacio antes de `Path`).

  1. 3. Configuración recomendada en JMeter

En el Thread Group, agregar los siguientes Listeners:

  • View Results Tree
  • Summary Report
  1. 4. Prueba inicial

1. Ejecutar inicialmente la prueba con 1 thread para verificar que el flujo funcione correctamente.
2. Revisar en View Results Tree que no existan errores.
3. Una vez validado, deshabilitar ese Listener antes de la prueba completa.

  1. 5. Ejecución por línea de comando

Para ejecutar la prueba sin interfaz gráfica:

```bash
/opt/jmeter/apache-jmeter-5.6.3/bin/jmeter -n -t shibboleth-unsolicited-sso-test.jmx -l result.jtl
```

  1. 6. Archivo de usuarios

El script requiere un archivo CSV con usuarios y contraseñas para la autenticación.
En esta prueba se utilizó un archivo con 1.500 usuarios de prueba.


¿Querés que le agregue una breve introducción o contexto arriba (por ejemplo, “Esta prueba forma parte del proceso de evaluación de capacidad del servicio de autenticación institucional”)? Eso le da un tono más institucional para la wiki.