Identificar los métodos que consumen más recursos de la cuenta
Un método puede ser candidato para la optimización si:
- Se le llama con más frecuencia de la necesaria. Se puede
mejorar el rendimiento hallando la manera de hacer menos llamadas o bien
haciendo pequeñas mejoras en el método que se utiliza con frecuencia.
- Su tiempo de ejecución es largo. Otra manera de mejorar el rendimiento
consiste en identificar las clases en las que se invierte más tiempo de ejecución
y luego optimizar los métodos que permanecen largo tiempo en la pila. Puede
suceder que esos métodos no se estén ejecutando, sino llamando a otros métodos
para tareas como la ordenación o la delegación.
Para localizar los métodos a los que se llama con frecuencia, siga estos pasos:
- Asegúrese de que la recogida de información de flujo de ejecución se ha habilitado, lo que se
lleva a cabo al lanzar o conectarse a la aplicación que se va a perfilar. Seleccione la opción de perfilado Mi aplicación es muy lenta
y, en las opciones de Detalles, seleccione Mostrar detalles gráficos del flujo de la
ejecución .
- En la vista Supervisor de perfilado, seleccione un supervisor o un
agente.
- Pulse el botón derecho del ratón y seleccione Abrir con >
Flujo de ejecución. Se abre la vista Flujo de ejecución.
- Pulse el botón Zoom para acercar
con el fin de agrandar una secuencia de llamadas de método.
- Pulse el botón derecho del ratón y seleccione Detectar todas las
repeticiones. Verá que aparecen letras X en los lugares en que hay
patrones repetidos.
- Acerque esas áreas con el zoom para ver los patrones repetidos y el
número de repeticiones del método.
Para localizar los métodos cuyo tiempo de ejecución es largo, siga estos pasos:
- Lance un proceso o conéctese a un proceso de un recurso concreto y luego
abra la vista Flujo de ejecución.
Nota: puede abrir la vista desde el agente, el proceso, el sistema
principal o el supervisor. Sin embargo, tenga en cuenta que la información que
se obtiene a partir de estos recursos en totalmente distinta. Por ejemplo, la
vista Flujo de ejecución del agente muestra la ejecución de la máquina virtual
Java (JVM) concreta a la que está conectado el agente. En cambio, si selecciona
la vista a nivel de supervisor, verá la ejecución de todas las máquinas
virtuales Java (JVM) que tienen agentes de perfilado bajo el supervisor
seleccionado.
- Fíjese en la longitud de la banda de cada método. La longitud de la
banda es directamente proporcional al tiempo de ejecución.
- Para ver un método con más detalle, abra la vista Estadísticas
de método, seleccione el método, pulse el botón derecho del ratón
y seleccione Mostrar invocación de método.
- Para ver el tiempo de ejecución del llamador del método, pulse el botón
derecho del ratón y seleccione Mostrar invocación de
método. Esta vista muestra una representación del mismo método en
forma de línea etiquetada.
- En la barra de herramientas local, pulse Mostrar llamador
para ver los llamadores del método seleccionado en la vista. Cada vez que pulsa
este botón, se visualiza un método situado más arriba en la secuencia de llamadores.
- Seleccione un método. La longitud vertical del área seleccionada indica
el tiempo base del método. Puede determinar el tiempo de ejecución de este
método comprobando la escala de tiempo vertical a la derecha de la vista. La
línea de estado indica el tiempo acumulativo del método.
Para obtener una vista más amplia del tiempo de ejecución, siga estos pasos:
- Abra la vista Flujo de ejecución: en el menú emergente del supervisor, en la vista Supervisor
de perfilado, seleccione Abrir con > Flujo de ejecución.
- Esta vista, al igual que la vista Invocación de método, tiene una escala
de tiempo vertical a lo largo de la parte izquierda.
- Utilice el botón Zoom para acercar
con el fin de agrandar una determinada sección de la vista
en la que quede resaltado el método que desea examinar.
- Pulse el nombre del método (o pulse en el espacio en blanco más abajo
del método) para seleccionarlo. La longitud vertical del área resaltada ofrece una
indicación del tiempo base del método. El valor exacto del tiempo base se
visualiza en la línea de estado.
- Utilice el botón Zoom para alejar
con el fin de ver una parte más grande del programa entero
sin perder de vista el área resaltada del método (es decir, todavía puede ver
el área rectangular de color amarillo). Aunque no se vea la representación de
toda la ejecución, podrá determinar cuánto tiempo consume este método en
relación con todo el programa.
Conceptos relacionados
Visión general de la herramienta de perfilado
Vista y tabla Flujo de ejecución
Vistas estadísticas
Tareas relacionadas
Perfilar una aplicación
Lanzar o conectar un proceso Java
Estudiar la recogida de basura
Analizar el rendimiento y la utilización de la memoria - visión general
(C) Copyright IBM Corporation 2000, 2003. Reservados todos los derechos.