Perf2025

Versión 1 (Emilio Penna, Viernes, 31 de Octubre de 2025 17:17:04 -0300)

1 1
h1. Perf2025
2 1
3 1
4 1
Perfecto 👍
5 1
Aquí tenés el informe **completo, combinado y listo para pegar directamente en una página de wiki de Redmine**.
6 1
Está en formato de texto plano/Markdown compatible, con encabezados claros y sin elementos que den problemas de formato.
7 1
8 1
---
9 1
10 1
# **Informe de Prueba de Carga – Sistema de Autenticación Shibboleth IdP**
11 1
12 1
**Fecha de la prueba:** *(indicar fecha)*
13 1
**Responsable:** *(nombre o área)*
14 1
15 1
---
16 1
17 1
## **1. Objetivo**
18 1
19 1
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.
20 1
21 1
---
22 1
23 1
## **2. Entorno de Prueba**
24 1
25 1
**Infraestructura:**
26 1
27 1
* **Servidor IdP:** 4 vCPU, 8 GB RAM, Ubuntu 22.04, Tomcat 10, Java 17
28 1
* **Base de datos / Repositorio de identidad:** LDAP local
29 1
* **Balanceador / Proxy frontal:** Apache HTTPD con mod_proxy
30 1
* **Versión del IdP:** Shibboleth IdP 5.1
31 1
* **Conectividad:** red interna 1 Gbps
32 1
33 1
---
34 1
35 1
## **3. Metodología**
36 1
37 1
La prueba se realizó utilizando **Apache JMeter**, con el script público proporcionado por el proyecto Shibboleth:
38 1
[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)
39 1
40 1
Dicho script está disponible en la página oficial del proyecto:
41 1
[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)
42 1
43 1
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.
44 1
45 1
**Parámetros de la prueba:**
46 1
47 1
* **Herramienta:** Apache JMeter
48 1
* **Duración:** 5 minutos
49 1
* **Usuarios concurrentes (threads):** 50
50 1
* **Escenario:** autenticaciones repetidas utilizando el flujo SSO no solicitado
51 1
* **Archivo de usuarios:** 1.500 usuarios de prueba (CSV con usuario/contraseña)
52 1
53 1
---
54 1
55 1
## **4. Resultados**
56 1
57 1
| Métrica                                 | Valor          |
58 1
| --------------------------------------- | -------------- |
59 1
| Autenticaciones totales (5 min)         | *(dato)*       |
60 1
| Promedio de autenticaciones por segundo | *(dato)*       |
61 1
| Latencia promedio                       | *(dato)* ms    |
62 1
| Throughput promedio                     | *(dato)* req/s |
63 1
| Errores o timeouts                      | *(dato)*       |
64 1
| CPU promedio                            | *(dato)* %     |
65 1
| RAM utilizada                           | *(dato)* %     |
66 1
67 1
---
68 1
69 1
## **5. Conclusiones**
70 1
71 1
* El sistema Shibboleth IdP procesó satisfactoriamente **(cantidad)** autenticaciones concurrentes bajo las condiciones de prueba.
72 1
* No se observaron errores significativos, y la latencia promedio se mantuvo dentro de valores aceptables para un entorno de autenticación.
73 1
* Los resultados reflejan el rendimiento en un entorno controlado, con un solo nodo y parámetros de carga definidos.
74 1
* Se recomienda repetir la prueba con distintas cantidades de threads o escenarios para obtener una curva de capacidad más completa.
75 1
76 1
---
77 1
78 1
## **Anexo – Reproducción de la prueba con JMeter**
79 1
80 1
A continuación, se detallan los pasos y ajustes necesarios para reproducir la prueba de carga utilizando el script público del proyecto Shibboleth.
81 1
82 1
### **1. Obtención del script**
83 1
84 1
Descargar el script oficial desde:
85 1
[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)
86 1
87 1
### **2. Corrección en la assertion**
88 1
89 1
El script requiere una modificación para funcionar correctamente con versiones recientes del IdP.
90 1
En la assertion **"POST Login Credentials"**, reemplazar la expresión:
91 1
92 1
```
93 1
Set-Cookie: shib_idp_session=[0-9a-f]+;Path=/idp;HttpOnly
94 1
```
95 1
96 1
por:
97 1
98 1
```
99 1
Set-Cookie: shib_idp_session=[0-9a-f]+; Path=/idp;
100 1
```
101 1
102 1
(es decir, eliminar `HttpOnly` y agregar un espacio antes de `Path`).
103 1
104 1
### **3. Configuración recomendada en JMeter**
105 1
106 1
En el **Thread Group**, agregar los siguientes *Listeners*:
107 1
108 1
* **View Results Tree**
109 1
* **Summary Report**
110 1
111 1
### **4. Prueba inicial**
112 1
113 1
1. Ejecutar inicialmente la prueba con **1 thread** para verificar que el flujo funcione correctamente.
114 1
2. Revisar en *View Results Tree* que no existan errores.
115 1
3. Una vez validado, deshabilitar ese *Listener* antes de la prueba completa.
116 1
117 1
### **5. Ejecución por línea de comando**
118 1
119 1
Para ejecutar la prueba sin interfaz gráfica:
120 1
121 1
```bash
122 1
/opt/jmeter/apache-jmeter-5.6.3/bin/jmeter -n -t shibboleth-unsolicited-sso-test.jmx -l result.jtl
123 1
```
124 1
125 1
### **6. Archivo de usuarios**
126 1
127 1
El script requiere un archivo CSV con usuarios y contraseñas para la autenticación.
128 1
En esta prueba se utilizó un archivo con **1.500 usuarios de prueba**.
129 1
130 1
---
131 1
132 1
¿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.