Introducción al kit de herramientas de WebSphere Application Server Performance Tuning

Descubra los cuellos de botella de rendimiento en la infraestructura del servidor de la aplicación con este kit de herramientas.

WebSphere® Application Server es uno de los componentes clave de la arquitectura de la empresa y cuellos de botella de rendimientos que puede afectar a varias aplicaciones. El kit de herramientas de WebSphere Application Server Performance Tuning es una herramienta fácil de usar para descubrir los problemas de rendimiento con WebSphere Application Server. Este kit de herramientas es muy útil para obtener lo mejor de la infraestructura.

Shishir Narain, IT Architect, IBM

Shishir NarainShishir Narain es un especialista en TI con doctorado de Open Group con grandes conocimientos en tecnologías de middleware. Trabaja para Servicios de Software para WebSphere de IBM, un laboratorio de IBM para equipos enfocados para proporcionar calidad de asesoramiento de WebSphere a los clientes. En los últimos 14 años ha trabajado administrando y entregando proyectos de software para grandes empresas como desarrollador y arquitecto de solución. . Posee un doctorado en Tecnología del Instituto de Tecnología de India, Kanpur.



Wang Yu, Software Engineer, IBM

Wang Yu Wang Yu (Edward) es ingeniero en software y trabaja en el Laboratorio de desarrollo de software de IBM de China en Beijing. Es un miembro del equipo de WebSphere Application Server SVT. Además, se ocupa del análisis de rendimiento, ajuste de rendimiento, diagnóstico de problemas y gran disponibilidad de WebSphere Application Server.



Tao Zhang, Software Engineer, IBM

Tao ZhangZhang Tao (Jordan) se unió a IBM en el 2009. Trabaja en el Laboratorio de desarrollo de software de IBM de China en Beijing. Se ocupa de la migración, administración inteligente y gran disponibilidad de WebSphere.



07-04-2014

Visión general

El ajuste de rendimiento es esencial para cualquier empresa porque ayuda a garantizar grandes descuentos para la inversión de TI. Además de ayudar a los usuarios finales a obtener el mejor tiempo de respuesta, ayuda a determinar la carga máxima que la aplicación puede admitir con seguridad.

WebSphere Application Server es un componente muy importante de las infraestructuras de la aplicación JEE de la empresa y el ajuste de este middleware es importante para lograr el mejor rendimiento.

Este tutorial presenta el kit de herramientas de WebSphere Application Server Performance Tuning (denominado PTT) y muestra cómo se puede usar para descubrir los cuellos de botella de rendimiento y el ajuste de la infraestructura de WebSphere Application Server. Asume que usted cuenta con los conocimientos básicos de WebSphere Application Server y prueba de rendimiento.

Antes de profundizar en el ajuste de rendimiento de WebSphere Application Server, hagamos un pequeño paréntesis como para no desviarnos del tema. El ajuste de middleware es solo un aspecto y debería verse con un plan y ajuste de capacidad para todo el software (sistema operativo, aplicación, base de datos, cliente/navegador y demás). Esta visión de principio a fin de capacidad óptima es la ingeniería de rendimiento, un lindo tema para otro día.

Introducción al kit de herramientas de Performance Tuning

El kit de herramientas de WebSphere Application Server Performance Tuning (PTT) es un Eclipse basado en el kit de herramientas inteligente, diseñado para ayudarlo a ajustar el rendimiento de WebSphere Application Server. El PTT reúne los datos de rendimiento de la Infraestructura de supervisión de rendimiento de WebSphere Application Server (PMI) y luego visualiza estos datos con los paneles de control configurables de supervisión. El PTT proporciona las herramientas para facilitar la determinación del problema.

El PTT cuenta con los siguientes componentes más importantes:

  • Interfaz de usuario, diseñada para la infraestructura Eclipse Rich Client Platform.
  • Recolector de datos, que usa WebSphere Application Server JMX API para recolectar los datos de PMI desde el servidor.
  • Procesador de eventos, procesa los datos de PMI. El procesador de eventos usa el motor de regla Drools para generar las alertas en el panel de control del monitor. El motor de regla permite a los usuarios establecer las reglas para crear sus propias alertas de cliente.
  • Administrador de permanencia, para hacer permanecer los datos en la base de datos. El procesador de eventos usa el Administrador de permanencia para transformar y guardar los eventos de PMI en la base de datos.

La Figura 1 proporciona una visión general de los distintos componentes del PTT.

Figura 1. Visión general técnica del kit de herramientas de WebSphere Application Server Performance Tuning

El PTT brinda las siguientes funciones:

  • Encontrar errores tan pronto como sucedan:
    • Monitorear el servidor para varios tipos de problemas como errores de servlet, reanudación de transacción, tiempo de expiración de transacción, tiempo de expiración de conexión JDBC, errores de conexión JCA, proceso interrumpido y falla de respuesta de proxy.
  • Encontrar problemas potenciales:
    • Mostrar estado detallado del sistema en el panel de control.
    • Detectar síntomas anormales según las reglas predefinidas
  • Acelerar el proceso de ajuste de rendimiento:
    • Ajustar todos los servidores en una vista centralizada.
    • Ejecutar los scripts de ajuste en el entorno de trabajo.
  • Facilitar la determinación de problemas con las herramientas para:
    • Generar descarga de proceso y almacenamiento
    • Habilitar el rastreo de tiempo de ejecución
    • Extraer los contenidos de la fuente de conexión
  • Proceso e informe de datos:
    • Proporcionar el informe.
    • Sustentar el análisis de los datos de PMI en los modos en línea y desconexión.

Ventajas del PTT sobre otras herramientas

El PTT cuenta con un número de ventajas:

  • Es fácil de instalar y usar. Descomprimir la descarga, realizar una pequeña configuración y listo.
  • Cuenta con una pequeña huella (de 250M) y no requiere de otra instalación.
  • No es invasivo. No es necesario cambiar la aplicación o instalar agentes en los servidores de la aplicación, ya que el kit de herramientas se puede ejecutar de forma remota.
  • Genera un impacto mínimo en el rendimiento de WebSphere Application Server. (Vea Métricas de degradación de rendimiento al usar PMI).
  • Es fácil de usar y cuenta con una interfaz de usuario personalizada.
  • Permite la supervisión en tiempo real del servidor o de una celda entera desde un lugar. Las tablas de rendimiento del servidor se pueden guardar para un análisis.
  • Caracteriza la regla basada en el proceso de eventos que permite a los usuarios personalizar el motor de alerta según los requisitos del proyecto.
  • Finalmente, pero no menos importante: es gratis.

PTT y visualizador de rendimiento Tivoli integrado

WebSphere Application Server cuenta con un visualizador de rendimiento Tivoli integrado, que usa los datos de PMI para monitorear el entorno general de WebSphere Application Server desde la consola de administración. El PTT genera las funciones del visualizador de rendimiento Tivoli para:

  • proporcionar fácil monitoreo de los paneles de control y, de este modo, comprender fácilmente cómo funciona WebSphere Application Server.
  • Generar las alertas que permiten fácil detección de problemas de rendimiento. Estas alertas se pueden personalizar.
  • Proporcionar las funciones para generar la información de descargas y seguimiento que ayudan en la determinación del problema.

PTT no es:

No es una herramienta de administración del sistema y no se debe usar para monitorear el sistema a largo plazo. La herramienta se usa para monitorear el WebSphere Application Server a corto plazo mientras realiza la Prueba de rendimiento. La gama Tivoli de los productos de IBM son adecuados para el monitoreo del sistema. Vea los Recursos.


Prácticas con PTT

La mejor forma de conocer la herramienta es usarla. Este tutorial replica los posibles cuellos de botella de rendimiento y muestra cómo esos problemas se pueden solucionar con el PTT. El PTT puede monitorear todo el grupo de WebSphere Application Server, pero este tutorial usa una instancia de servidor único de WebSphere Application Server. Como parte del tutorial, instale una aplicación de rendimiento estándar en WebSphere Application Server e introduzca un cuello de botella de rendimiento en la aplicación. Luego, usar el PTT junto con otras herramientas para investigar los problemas.

Software requerido para este artículo

  • El PTT es la herramienta principal para detectar los problemas de rendimiento. Descargue e instale el kit de herramientas.
  • La aplicación de rendimiento DayTrader es una muestra de la aplicación web, un modelo de distribuidor de stock en línea. DayTrader usa los componentes JEE como servlets, archivos JSP, bean comercial, bean impulsados por mensajes (MDB) y conexión a la base de datos Java (JDBC) para proporcionar un conjunto de servicios de usuario como iniciar/cerrar sesión, cotizaciones de stock, compra, venta, detalles de cuenta y demás en HTTP y protocolos del servicio web. DayTrader proporciona los parámetros configurables que se usan para producir diferentes cuellos de botella de rendimiento. Para más información sobre la aplicación de rendimiento DayTrader, vea los Recursos. Los scripts para instalar la aplicación DayTrader en una instancia de servidor único se encuentran disponibles en la sección Descargas.
  • La herramienta de prueba Apache JMeter Load está diseñada para probar la carga del comportamiento de funcionamiento y medir el rendimiento. Se usa para simular las solicitudes de la aplicación DayTrader. Vea los Recursos para obtener la imagen de instalación.
  • 5 Tech Preview para asistencia técnica de IMB se usa para determinar el problema. Brinda un Administrador de caso que ayuda a recolectar los datos para la investigación de determinación del problema y además, brinda un conjunto de herramientas que ayudan a diagnosticar los problemas. Vea los Recursos para obtener información sobre cómo obtener asistencia técnica de IMB.

Configuración

  1. Instale el PTT descomprimiendo el archivo de instalación. Luego ejecútelo. Se visualiza el entorno de trabajo en la Figura 2.
Figura 2. Entorno de trabajo de Performance Tuning Toolkit
  1. Para configurar el PTT, debe agregar un host. Haga clic en el botón Add a new Host en la barra de herramientas del panel Host. En la ventana New Host (vea la Figura 3), especifique la dirección de IP y el puerto del administrador de desarrollo SOAP en caso de una instalación ND de WebSphere Application Server o del servidor en caso de servidor único. Si la seguridad está habilitada, debe especificar el nombre y la contraseña de usuario.
Figura 3. Añadir un Host nuevo
  1. Para instalar la aplicación DayTrader, seleccione Help -> Case Study de la barra de menú del entorno de trabajo del PTT para importar la aplicación de muestra y los archivos de script en la vista Scripts. Estos scripts de muestra son para un entorno de grupo; los scripts adicionales requeridos para una configuración de servidor único se proveen en la sección Descarga de este tutorial. Copie los scripts del archivo de descarga y péguelos en la carpeta <PTT install path>/ workspace/Scripts/sample.
  2. Abra settings_SingleServer.py en la carpeta Muestra y cambie el nombre del nodo por el nodo en su entorno. Es necesario proporcionar los detalles de seguridad si la seguridad de WebSphere Application Server está habilitada. Seleccione el host en la vista Host y haga clic derecho en installDaytrader_singleServer.py en la carpeta Muestra de la vista scripts y seleccione Run Scripts en el menú contexto para ejecutar el script en su servidor. El script realiza toda la configuración requerida y luego instala la aplicación DayTrader en el servidor específico.

La Consola de registros (vea la Figura 4) en el PTT muestra que la aplicación se instaló correctamente.

Figura 4. La consola de registros muestra el registro de desarrollo de DayTrader

Asegúrese de que la papelera se active para el servidor. La papelera se puede activar mediante la consola de administración del servidor de la aplicación. Elija el servidor, haga clic en Process definition y haga clic en Java Virtual Machine como se muestra en la Figura 5.

Figura 5. Activando la recolección de basura en el servidor

Reinicie el servidor de la aplicación y para verificar la instalación, abra la aplicación DayTrader en

http://<host>:default_port/daytrader/scenario (vea la Figura 6).

Figura 6. Pantalla de inicio de DayTrader

Use la herramienta JMeter para simular las solicitudes de la aplicación DayTrader. Inicie JMeter y abra el archivo daytrader.jmx en la carpeta Muestra del panel Scripts. Cambie los valores de las variables hostname y portnumber según el entorno.

Figura 7. Pantalla de configuración de JMeter

Para verificar la configuración, ejecutar la herramienta JMeter durante 10 minutos y asegúrese de que la herramienta funcione con la aplicación. Esto asegura que el entorno se configuró correctamente.

Para iniciar la asistencia técnica de IMB, inicie el servidor con ISA5/start_isa.bat. Se puede acceder mediante la dirección URL: http://localhost:port/isa5/. El número de puerto se visualiza como un resultado al ejecutar el lote start_isa.bat.

Esto completa toda la configuración requerida para este tutorial.

Entorno de trabajo del PTT

Ahora que ya se instaló y configuró todo el software requerido, observemos la herramienta PTT. La interfaz de usuario consta de vistas que presentan la información de una forma lógica y concisa. La Figura 8 muestra una pantalla general de muestra.

Figura 8. Visión general del entorno de trabajo del PTT

Presenta la información de resumen del servidor. Para ver el Panel de control, haga clic en el botón Open Monitor Page en la pantalla general.

Figura 9. Panel de control del PTT

Posibles problemas de rendimiento

El PTT se puede usar para solucionar varios problemas de rendimiento, como:

  • bloqueo de sincronización
  • interbloqueo
  • uso de CPU alto
  • pérdidas de conexión
  • fugas de memoria

Problemas de bloqueo de sincronización

En este entorno, se bloquean los procesos por la sincronización. La aplicación llama de forma continua a un método sincronizado estático en el cual el proceso entra en receso durante varios segundos.


El código de muestra cambia en la aplicación DayTrader para producir este entorno como se muestra a continuación:

// For Synchronization Blocking
if(TradeConfig.isThreadHang()){
  syncMethod();
}

public static synchronized void syncMethod(){
  try {
    Thread.sleep(TradeConfig.getHangTime());
  } catch (InterruptedException e) {
     e.printStackTrace();
  }
}

Para simular este problema, asegúrese de que se ejecute JMeter y el PTT monitoree el servidor. Abra la pestaña Server de la página de DayTrader (http://hostname:port/daytrader). Las opciones de reproducción de error se muestran en la Figura 10. Para activar los problemas de bloqueo de sincronización, seleccione la casilla Synchronization Blocking en la pestaña Server y actualice la configuración de tiempo de ejecución.

Figura 10. Pantalla de configuración de DayTrader

En unos minutos, se producen los problemas que se muestran en la Figura 11.

Figura 11. Pantalla general que visualiza los problemas

En el monitor del panel de control abierto (Figura 12), puede ver las alertas y la degradación en tiempo de respuesta de servlet.

Figura 12. El panel de control del PTT muestra más detalles del problema

Para investigar este problema, debe determinar por qué aumenta el tiempo de respuesta de servlet. Java proporciona la habilidad de obtener los detalles del proceso de tiempo de ejecución sin tener que cambiar al modo de depuración. Para más información sobre el problema, puede usar Descarga del proceso, que es esencialmente una captura de pantalla en tiempo de todas las ejecuciones de procesos dentro de la Máquina Virtual Java (JMV). La descarga de proceso proporciona un rastreo de los procesos Java y muestra los métodos y líneas ejecutados en ese tiempo. Para descargar el proceso, haga clic derecho en el servlet en el panel Topología y seleccione Generate Thread Dump (vea la Figura 13).

Figura 13. Generar descarga de proceso con entorno de trabajo del PTT

La descarga de proceso se genera en la carpeta de perfil del servidor. Este archivo se puede analizar con la herramienta Thread and Monitor Dump Analyzer en asistencia técnica de IMB. Cree un caso en la asistencia técnica de IMB e importe este archivo Descarga de proceso y luego analícelo con la herramienta Thread and Monitor Dump Analyzer (vea la Figura 14). Ahora puede comprobar los resultados del análisis para disminuir el problema. El archivo javacore.xxxx_jca.html contiene el resultado detallado (Figura 15).

Figura 14. Análisis de descarga de proceso y monitor con la asistencia técnica de IMB

Haga clic en el enlace del archivo Descarga de Monitor Java para obtener más detalles.

Figura 15. Análisis de descarga de monitor que detalla la asistencia técnica de IMB

La descarga apunta claramente al problema y al código que ocasiona el problema.


Conclusión

Tuning WebSphere Application Server es esencial para el uso óptimo de la infraestructura de middleware. El kit de herramientas WebSphere Application Server Performance Tuning se puede usar fácilmente para detectar los cuellos de botella de rendimiento y ajustar la infraestructura de WebSphere Application Server. Proporciona varias funciones configurables fáciles de usar que mejoran la determinación del problema. Esta parte del tutorial explica las funciones, ventajas y los componentes varios del PTT, tomando como ejemplo un problema de rendimiento de muestra y utilizando el PTT para solucionar el problema. La Parte 2 del tutorial muestra cómo se puede usar el PTT en otros entornos.


Reconocimientos

Los autores quieren agradecer a Peng Fei Sui por la reseña de este artículo.


Descargar

DescripciónNombretamañoMetodo de descarga
Sample Scriptsptt_part1_scripts.zip8 KBHTTP

Información sobre métodos de descarga

Recursos

Aprender

Obtener los productos y tecnologías

Comentar

Comentarios

developerWorks: Ingrese

Los campos obligatorios están marcados con un asterisco (*).


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que inicie sesión en developerWorks, se creará un perfil para usted. La información en su propio perfil (nombre, país/región y nombre de la empresa) se muestra al público y acompañará a cualquier contenido que publique, a menos que opte por la opción de ocultar el nombre de su empresa. Puede actualizar su cuenta de IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Los campos obligatorios están marcados con un asterisco (*).

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=WebSphere
ArticleID=967845
ArticleTitle=Introducción al kit de herramientas de WebSphere Application Server Performance Tuning
publish-date=04072014