Perf2025

Versión 1 (Emilio Penna, Viernes, 31 de Octubre de 2025 17:17:04 -0300) → Versión 2/3 (Emilio Penna, Viernes, 31 de Octubre de 2025 17:22:30 -0300)


h1. 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.

---

# **Informe de Prueba de Carga – Sistema de Autenticación Shibboleth IdP**

**Fecha de la prueba:** *30/10/2025* *(indicar fecha)*
Ambiente de IdP de test **Responsable:** *(nombre o área)*

---

## **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.

---

## **2. Entorno de Prueba**

**Infraestructura:**

* **Servidor IdP:** (vmware) 4 vCPU, 4 8 GB RAM, Debian 11, Ubuntu 22.04, Tomcat 9, 10, Java 11 (amazon corretto) 17
* **Base de datos / Repositorio de identidad:** openldap LDAP local
* **Balanceador / Proxy frontal:** Apache HTTPD con mod_proxy
* **Versión del IdP:** Shibboleth IdP 4.3.3 5.1
* **Conectividad:** red interna 1 Gbps


---

## **3. Metodología**

La prueba se realizó utilizando **Apache JMeter 5.6.3**, 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)

---

## **4. Resultados**

| Métrica | Valor |
| --------------------------------------- | -------------- |
| Autenticaciones totales (5 min) | *49995* *(dato)* |
| Promedio de autenticaciones por segundo | *166* *(dato)* |
| Latencia promedio | *284* *(dato)* ms |
| Throughput promedio | *166* *(dato)* req/s |
| Errores o timeouts | *0* *(dato)* |
| CPU promedio | *load average 8* *(dato)* % |
| RAM utilizada | *3.6G* *(dato)* % |

---

## **5. Conclusiones**

* El sistema Shibboleth IdP procesó satisfactoriamente 50.000 **(cantidad)** autenticaciones en 5 minutos 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.

---

## **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. 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)

### **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`).

### **3. Configuración recomendada en JMeter**

En el **Thread Group**, agregar los siguientes *Listeners*:

* **View Results Tree**
* **Summary Report**

### **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.

### **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
```

### **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.