2011-02-27 7 views
6

He encontrado el DTrace intrigante pero personalmente no he podido ver un caso de uso que me permita obtener información que de todos modos no puedo obtener sin usar DTrace.Qué scripts de DTrace hacen que valga la pena probar y registrar programas Java en Solaris

Por lo tanto, me gustaría escuchar lo que he pasado por alto. ¿Qué puedo hacer en mi vmware OpenIndiana build 148 con DTrace que puede marcar la diferencia cuando se crean aplicaciones independientes y aplicaciones web Java EE (la mayoría de las cuales se comunican mucho con un backend heredado usando sockets)?

Guiones Dtrace no triviales son bienvenidos.

+0

"No es una pregunta real"? ¿Cómo debería decirlo entonces? –

Respuesta

6

Tuve algunas buenas experiencias con DTrace.

Tenía un cliente que ejecutaba nuestro código Java en un servidor de producción que funcionaba 24x7. Tuvimos algunos problemas de rendimiento con las aplicaciones. No fue posible detener las JVM para conectar el generador de perfiles. Además, el comportamiento no estaba presente en nuestro laboratorio con la misma carga.

Resolvimos el problema usando DTrace con las sondas relacionadas con JVM, ya que podía conectarlo a las JVM en ejecución y la sobrecarga introducida fue mínima (1.3% en una máquina Netra T2000 SPARC).

La ventaja del método era que toda la depuración se realizaba a través de una línea de acceso telefónico (33kbps) al laboratorio del cliente. Es casi imposible ejecutar cualquier otro perfilador/depurador con estas restricciones (JDWP es bastante detallado para este ancho de banda). Con mi script de DTrace solo filtraba lo que era interesante para mí.

Para ver algunos consejos: http://java.dzone.com/articles/java-profiling-dtrace?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+javalobby/frontpage+(Javalobby+/+Java+Zone)

http://download.oracle.com/javase/6/docs/technotes/guides/vm/dtrace.html

he adaptado esos guiones http://blogs.oracle.com/ahl/date/20050418#dtracing_java

Otra gran ventaja son los valores agregados que se pueden utilizar fácilmente para crear estadísticas personalizadas.

Pero, si tiene las condiciones adecuadas, todo se puede hacer más fácilmente con otras herramientas. DTrace es muy potente pero apunta a más condiciones de metal desnudo (quizás el proyecto DLight ayudaría).

+0

Genial. ¿Cuál fue tu problema de rendimiento, entonces? –

+0

No es tan fácil de describir. Las aplicaciones fueron para una compañía de telecomunicaciones. Eran aplicaciones SIP dirigidas por eventos. Primero: Las sesiones SIP se mantuvieron en un mapa. En cargas pesadas, hubo algunas llamadas interminables debido al hecho de que las nuevas llamadas entrantes bloqueaban los mensajes BYE a los actuales. DTrace me mostró las condiciones de la carrera. 2º: Crearon cantidades enormes de objetos de cadena debido al análisis de mensajes SIP. He detectado los puntos más candentes en la aplicación, reduciendo la creación de cadenas y ayudando al GC. –

Cuestiones relacionadas