Bu yazı da bir kod yazısı değil
Bu seride birkaç kez olduğu gibi, bu konu da TROIA dilinin kendisiyle değil, platformu izlemekle ilgili — kaynak dokümantasyon burada TROIA kod örneği vermiyor, ben de uydurmadan, sadece ne işe yaradığını anlatıyorum.
JMX nedir
JMX (Java Management Extensions), çalışan bir Java uygulamasının RAM/heap kullanımı, thread sayısı, garbage collection ve CPU kullanımı gibi metriklerini dışarıdan gözlemlemenizi sağlayan bir Java teknolojisi. TROIA application server da bir Java uygulaması olduğu için bu altyapıyı kullanabiliyor.
JMX'i etkinleştirmek
Application server'ı başlatan JVM'e bazı parametreler eklenir:
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port={port}
Bu parametreler ayarlandıktan sonra, sunucu belirtilen port üzerinden JMX bağlantılarını kabul etmeye başlar.
TROIA'ya özel metrikler
Genel JVM metriklerinin (bellek, thread, GC) yanında, 26.08.11-01 ve sonrası build'lerde TROIA'ya özel MBean'ler de mevcut:
- Application Server: aktif oturum sayısı, cache boyutları, işlem süreleri
- License Server: kullanıcı lisans metrikleri
JConsole ile bağlanmak
Java ile birlikte gelen JConsole aracı, JMX üzerinden sunucuya bağlanıp bu MBean'lerin değerlerini gerçek zamanlı izlemenizi sağlar — kurulum gerektirmez, JDK'nın içinde hazır gelir.
Sonuç
JMX, "sunucu neden yavaşladı" sorusuna kod değiştirmeden, dışarıdan bakarak cevap aramanızı sağlıyor. Özellikle prodüksiyon ortamında bir performans sorununu teşhis ederken, koda debug satırları eklemeden önce JConsole ile JMX metriklerine bakmak genelde daha hızlı sonuç verir.
Yorumlar (0)
Yorum Yaz