lunes, 21 de enero de 2013

La relación entre las pruebas de rendimiento y el tunning

Cuando las pruebas de rendimiento a un sistema end to end revelan que dicho sistema o algunos de sus componentes  son inaceptables, muchos equipos centran su atención en el tunning de la aplicación y su infraestructura con el objetivo de descubrir qué se necesita cambiar para que dichos elementos tengan una mejora en el rendimiento. Un equipo también puede cambiar su enfoque para afinar los criterios de rendimiento que se han establecido desde el principio, mediante la reducción de cantidad de recursos que utiliza con el fin de aumentar la capacidad del sistema o simplemente para optimizarla lo mejor posible y también disminuir el volumen del hardware empleado.
Esfuerzo Cooperativo.
          Aunque el tunning no es directamente responsabilidad del ingeniero de pruebas de rendimiento, este proceso es más eficaz cuando existe un esfuerzo de  cooperación entre los distintos roles involucrados de un proyecto u organización, tales como:
·         Empresas externas proveedoras de un servicio
·         Arquitectos de Software
·         Desarrolladores
·         Ingenieros de pruebas
·         Administradores de Bases de Datos
·         Administradores de Sistemas
·         Administradores de Redes
Sin la cooperación de estos roles es casi imposible tener toda la perspectiva de la arquitectura del sistema y por ende la resolución del problema de optimización  no se puede llevar acabo del todo bien.
El equipo de pruebas de rendimiento es un componente crítico de este conjunto cooperativo. Típicamente en el tunning de aplicaciones se requiere monitoreo adicional de componentes en específico, recursos, tiempos de respuesta bajo diferentes condiciones de carga y configuraciones. En términos generales el ingeniero de pruebas de rendimiento es quien tiene las herramientas y la experiencia para proporcionar esta información para facilitar la tarea de optimización.
Y a todo esto… Que es el tunning? A continuación una breve descripción de lo que es el proceso de tunning.


El tunning es un proceso iterativo que suele estar aislado de los objetivos principales de las pruebas de rendimiento, lo cual no debe ser así por que tiene mucho que ver con el éxito de los resultados de las pruebas de rendimiento de  un proyecto. Lo siguiente es una breve visión general de un proceso de tunning:
·         Las pruebas de un sistema se realizan sobre un sistema o aplicación desplegada en un entorno controlado con el fin de garantizar que la configuración y los resultados son capaces de reproducirse “n” veces.
·         Cuando las pruebas revelan resultados inaceptables, el equipo de pruebas de rendimiento y el de tunning, deben entrar en una etapa de diagnostico para identificar y proponer los cambios que se consideren necesarios aplicar al entorno, para mejorar sui rendimiento. No es extraño que en esta etapa se introduzcan cambios de manera deliberada para ampliar el problema con fines de diagnostico, para identificar el problema o simplemente para ver si estos cambios llevan a un mejor rendimiento (a prueba y error).
·         Las pruebas de rendimiento se ejecutan después de cada cambio en el entorno de prueba con el fin de medir el impacto de un ajuste de configuración.
·         El proceso de tunning implica típicamente una secuencia rápida de cambios y pruebas, este proceso puede llevar más tiempo de lo planeado si algún elemento del equipo de tunning no está totalmente disponible y dedicado a este esfuerzo.
·         Cuando la fase de tunning llega a su fin, el entorno de pruebas generalmente se restablece a su estado inicial, los cambios exitosos se aplican nuevamente y cualquier otro cambio sin éxito se descarta. Las pruebas se deben repetir nuevamente para probar que los cambios correctos han sido identificados. También podría ser el caso de que el entorno de prueba se cambia para reflejar nuevas expectativas con respecto al entorno productivo. Esto es inusual pero puede ser un posible resultado del esfuerzo conjunto del proceso de tunning.

4 comentarios:

  1. Las pruebas más enriquecedoras en las que he participado, siempre han sido aquellas que involucran un mayor número de profesionales. La visión que aportan las diferentes áreas técnicas permiten "afinar" las pruebas y obtener el mejor rendimiento de la aplicación.

    ResponderEliminar
  2. Me podrían brindar información acerca de tunning en MySQL Server

    Buen artículo, descubrí el blog por google y estoy leyendo cada entrada

    ResponderEliminar
  3. ¡Hola1

    Gracias por visitar nuestro blog. Nos alegramos de que te sea útil y agradecemos cualquier comentario o sugerencia que que nos hagas llegar .

    Respecto a tu petición, aunque estamos más enfocados a temas de calidad técnica que a soporte técnico, te sugerimos esta URL http://www.sql-server-performance.com/2006/olap-performance/

    Puede que sea algo antígua. Pero ya sabes:para todo lo demás usar un buscador con ese tipo de consultas.

    Saludos

    ResponderEliminar