Como sabrá por una publicación anterior en este blog, o si me sigue en Twitter (BPeaslandDBA), me gusta Lighty for Oracle, un producto de Orachrome. Me encanta este producto y lo fácil que es obtener información de diagnóstico de rendimiento. Estoy muy familiarizado con Enterprise Manager de Oracle y uso EM12c todo el tiempo cuando recibo llamadas sobre el bajo rendimiento de la base de datos. Pero ahora espero que Lighty se convierta en una herramienta más en mi arsenal.
No espero que Lighty reemplace a Enterprise Manager. EM12c hace mucho más que Lighty, es decir, monitoreo y alertas, y varias tareas de administración de bases de datos. Así que me quedaré con EM12c, muchas gracias. Pero confiaré más en Lightly para la parte de mi trabajo que Lighty hace muy bien, proporcionar información para ayudar en los esfuerzos de ajuste del rendimiento. Lighty es solo para ajustar el rendimiento y debido a que tiene un enfoque singular, hace el trabajo muy bien.
Intentaré mostrar algunos aspectos destacados de por qué creo que Lighty es una gran herramienta para usar. Voy a contrastar con EM12c. Para empezar, en EM12c, voy a Performance -> Performance Home y veo una pantalla similar a la siguiente.
Inmediatamente puedo ver que tengo contención de recursos de CPU. La pantalla principal de Lighty tiene el siguiente aspecto.
Así que tenemos información muy similar. Y ahí es donde terminan las diferencias para mí... justo al principio. En EM12c, me veo obligado a tomar una decisión, ¿profundizo en la utilización de la CPU o en una de las clases de espera como E/S de usuario? Dado que lo anterior muestra la contención de la CPU, en EM12c, hago clic en la parte de la CPU del gráfico para profundizar. En este punto de EM12c, solo estoy considerando el uso de la CPU para mi análisis. Como veremos más adelante, Lighty no requiere que tome esa decisión si no quiero. A continuación se muestra mi gráfico de EM12c.
El gráfico anterior es muy común para mí en mi base de datos Oracle RAC. El gráfico anterior muestra la utilización de la CPU para tres instancias de mi base de datos en clúster. ¿Cuál está dominando la utilización de la CPU? Bueno, todos se ven bastante iguales. Sin embargo, EM12c me obliga a elegir una instancia para el análisis. No puedo examinar las 3 instancias en una pantalla. Gran parte de mi trabajo es con el ajuste del rendimiento de Oracle RAC y las limitaciones de EM12c me molestan aquí. Tengo que elegir una clase de espera o una CPU y luego elegir una instancia antes de poder obtener información sobre las principales declaraciones de SQL o las mejores sesiones. Si profundizo lo suficiente en EM12c, puedo obtener una pantalla como la siguiente.
¡Finalmente he llegado a algún lugar por fin! Puedo ver las principales declaraciones de SQL y las mejores sesiones. Observe la parte resaltada. Este es un detalle para una ventana de 5 minutos. La ventana de cinco minutos está representada por el cuadro sombreado en el gráfico de uso de CPU a continuación para la instancia.
En EM12c, puedo arrastrar el cuadro sombreado a un momento diferente y la información de sesiones principales y de SQL principal cambiará para coincidir. Pero no puedo cambiar esto a un intervalo de 10 minutos o algún otro período de tiempo. Estoy atascado en 5 minutos.
Ahora vamos a contrastar esto con Lighty. Ya hemos visto el gráfico de rendimiento como lo ha hecho EM12. Debajo de ese gráfico de rendimiento en Lighty hay un panel de detalles en las principales declaraciones SQL. No tuve que hacer clic en nada para obtener las principales sentencias SQL.
De inmediato, veo una diferencia entre Lighty y EM12c. Mis declaraciones SQL principales no están restringidas únicamente a la CPU o a una clase de espera específica. Si quiero restringir la información, puedo elegir de un cuadro de menú sobre el gráfico de rendimiento.
Por lo general, tengo Todo seleccionado, pero puedo elegir ver solo la CPU si así lo deseo. Lighty no me limita como lo hace EM12c, a menos que tome la decisión de subdividir la información.
Observe en el SQL superior que se me presenta una línea de tiempo de los eventos para ese SQL. Por ejemplo, podemos ver que la declaración SQL superior en la lista está usando mucha CPU. Otras declaraciones SQL en la lista inician y detienen su uso de CPU, que se muestran en verde claro. La E/S de usuario se muestra simultáneamente aquí en azul. Si amplío una instrucción SQL, puedo obtener un desglose de esa instrucción SQL.
Con solo hacer clic en el signo Más junto a la instrucción SQL, puedo ver que esta instrucción tiene dos planes de ejecución diferentes y uno de ellos consume el 93,92 % de la utilización total de la CPU. Si amplío ese plan, puedo ver dónde está gastando su tiempo, desglosado por evento de espera.
Así que recapitulemos esto. Inicié Lighty e inmediatamente me presentaron mis declaraciones SQL principales y, con un solo clic, sé que la primera tiene un plan de ejecución que consume CPU. Eso es súper rápido y fácil en mi opinión. EM12c hace que sea más difícil acceder a esta información y EM12c no me mostrará cuándo una instrucción SQL comenzó a consumir CPU y cuándo se detuvo como los gráficos que proporciona Lighty.
Si hago clic en una instrucción SQL, como lo haría en EM12c, Lighty me mostrará las estadísticas del SQL específico. Si hago clic en la pestaña Uso, puedo ver todas las sesiones que ejecutaron esta declaración. Observe que el gráfico muestra una línea de tiempo de cuándo esa sesión consumía ese recurso para esta instrucción SQL. EM12c no me mostrará ese nivel de detalle.
Con lo anterior, puedo ver fácilmente que se trata de varias sesiones que ejecutan la misma declaración en diferentes momentos.
¿Recuerdas que EM12c me hizo elegir una instancia para esta base de datos Oracle RAC? En Lighty, no tengo que tomar esa decisión. Pero puedo muy fácilmente. Lighty es consciente de RAC y detectó las múltiples instancias. Por defecto, tengo todas las instancias elegidas. Un simple menú desplegable me permite seleccionar uno de ellos y la información en la pantalla se ajusta automáticamente a ese caso.
Recuerde en EM12c donde esa ventana sombreada representaba un período de tiempo de 5 minutos. En Lighty, el SQL y los detalles de la sesión son para todo el gráfico. Si desea una ventana de 5 minutos, puede elegir la opción de 5 minutos arriba del gráfico. De forma predeterminada, tiene una ventana de 60 minutos elegida.
Y también puedo elegir otras opciones, incluido un rango de fecha/hora personalizado. En EM12c, el gráfico es de 1 hora y no puedo cambiarlo.
EM12c tiene su ASH Analytics para permitirme ver el rendimiento en el pasado. Pero siempre he tenido problemas con eso. Con ASH Analytics (que me permite ver el historial de sesiones activas), puedo cambiar esa ventana gris para que no sea de 5 minutos. Pero para mí, EM12c simplemente nunca devuelve los datos. Quizás tengo algún problema con mi entorno EM12c. Pero Lightly funciona de inmediato con datos históricos de ASH. Digamos que recibí una llamada sobre un problema de rendimiento que ocurrió entre las 8:00 y las 9:00 de esta mañana. Simplemente elijo un intervalo de tiempo personalizado.
En EM12c, me veo obligado a ir a una página web diferente, Performance -> ASH Analytics.
Hasta ahora, probablemente se haya aferrado a la idea de que Lighty es una forma rápida y fácil de obtener mucha de la misma información que puedo obtener de EM12c. ¡Y tendrías razón! Aquí hay otra área que me gusta de Lighty. Si voy a Ventana -> Supervisión de múltiples bases de datos, puedo ver gráficos de muchas métricas de rendimiento diferentes para múltiples bases de datos. Aquí hay un ejemplo. De un vistazo, puedo monitorear múltiples bases de datos en una pantalla. EM12c no me deja hacer eso. Puedo ver que la base de datos en el extremo derecho está bastante inactiva mientras que la base de datos en el medio está siendo golpeada bastante fuerte. Al desplazarme hacia abajo en la página, obtengo gráficos de muchas métricas:
- Análisis
- Llamadas de usuario
- Transacciones
- Lee y escribe
- Latencia del disco
- Rendimiento de E/S de disco
- Tasas de transferencia de caché global
- Tasas de generación de rehacer
- Tráfico de red
En EM12c, tendría que visitar demasiadas páginas para obtener la misma información que me da Lighty en una página.
Todos mis ejemplos se basan en los mismos paquetes de diagnóstico y ajuste que tengo bajo licencia. Si no los licencia, Lighty proporciona una funcionalidad similar con Statspack y su versión de L-ASH (Lighty ASH).
Considerándolo todo, creo que Lighty es una gran herramienta para el DBA que es responsable del ajuste del rendimiento. El costo es muy razonable también. Cuanto más uso la herramienta, más llego a apreciar la rapidez con la que puedo obtener información. Puedo activar o desactivar las cosas con no más de dos clics para poder profundizar fácilmente en la causa raíz de mis problemas de rendimiento. Animo a todos los DBA de Oracle a descargar la versión de prueba y ver si este producto es adecuado para ellos. Lighty se puede encontrar aquí:http://www.orachrome.com/en/index.html