| Inicio | Perfil | Servicios | Offshore | Recursos | Mapa del sitio | Contáctenos |          
Artículo "Consejos sobre pruebas de rendimiento y optimización"

En este útil artículo, Floyd Marinescu (autor del popular libro "EJB Design Patterns") nos enseña cómo hacer que nuestra aplicación Web tenga un alto rendimiento incluso bajo una gran carga de usuarios y de datos, basándose para ello en su experiencia como arquitecto jefe del portal TheServerSide.com, el cual recibe más de dos millones de visitas diarias.

 

 Versión para imprimir

CONSEJOS SOBRE PRUEBAS DE RENDIMIENTO Y OPTIMIZACIÓN
Floyd Marinescu
Arquitecto Jefe
TheServerSide.com
Enlace a la versión original en inglés

Traducido con permiso de TheServerSide.com por
Dr. Vicent-Ramon Palasí Lallana.
Gerente General de Aurum Solutions.
http://www.aurumsol.com
Septiembre 2003

El propósito de este documento es explicar qué se debe hacer para llevar a cabo pruebas de escalabilidad, pruebas de rendimiento y optimización en un entorno J2EE (Java 2 Enterprise Edition).

1. DEFINICIONES

Tiempo de respuesta (Response time)– El tiempo que pasa entre la petición inicial y la descarga completa de la respuesta (es decir, el desplegado por entero de la página web).

Carga (Load) - Una medida del uso del sistema. Se dice que un servidor tiene “carga elevada” cuando la aplicación que soporta experimenta un fuerte tráfico.

Escalabilidad (Scalability) – Una aplicación escalable tiene un tiempo de respuesta que aumenta linealmente cuando aumenta la carga. Dicha aplicación es capaz de procesar cada vez más volumen si se añaden recursos adicionales de hardware de forma lineal (es decir, no exponencial).

Herramientas de automatización de pruebas (Automation testing tools) – Herramientas (Silk de Segue Software, WebLoad, etc.) que se usan para simular un usuario haciendo peticiones de páginas o ejecutando flujo de trabajo preprogramado en un sitio.

Herramientas de pruebas de carga (Load testing tools) – La mayoría de herramientas de automatización de pruebas (por ejemplo, WebLoad) pueden usarse como software de pruebas de carga. Estas herramientas simulan cualquier cantidad de usuarios usando un sitio y proveen datos importantes como, por ejemplo, tiempos medios de respuesta.

Perfilador (Profiler) - Un perfilador es un programa que examina una aplicación mientras ésta se ejecuta. Provee útil información de ejecución como el tiempo invertido en determinados bloques de código, el grado de utilización de la memoria y del heap, el número de instancias de cada clase que hay en memoria, etc.
 

2. UN PROCESO PARA LAS PRUEBAS DE RENDIMIENTO

  1. Pruebas funcionales. La mayoría de aplicaciones comienzan el proceso de prueba completando, antes que nada, las pruebas funcionales. Es decir, asegurándose que funcionan todos los casos de uso y flujo de trabajo de la aplicación.

  2. Pruebas de carga y escalabilidad. El proceso de probar la carga y escalabilidad tiene dos aspectos:

    1. Probar el tiempo de respuesta cuando se aumenta el tamaño de la base de datos.
    2. Probar el tiempo de respuesta cuando se aumenta el número de usuarios concurrentes.

  3. Interpretación de los resultados. Después de medir el tiempo de respuesta con diferentes cargas y tamaños de la base de datos, se pueden hacer interpretaciones basándose en el tiempo medio de respuesta obtenido en las pruebas y el uso de recursos del servidor durante las mismas.

  4. Optimización. Después de identificar anomalías en el paso anterior, se interpretan los resultados y se localiza el problema.

 

 
 

Ir a la página: 1   2   3   4    Siguiente >>

 Versión para imprimir

 

 

| Inicio | Perfil | Servicios | Offshore | Recursos | Mapa del sitio | Contáctenos|