Uygulama Performansı Kavramları A-05
05.Performans Verilerini Görselleştirme
Performans verilerini ölçmenin yanı sıra, analiz için bu verileri görselleştirmemiz de gerekir. Temel veri yapısına bağlı olarak, görselleştirme için iki tür veriyi ele alıyoruz:
- Zamana Dayalı Veriler: JMX değerleri gibi zamana dayalı veriler, veri değerinin bir zaman damgasıyla eşleştirildiği ilişkiler veya tuple (ilişkisel bir veritabanında bir dizi değeri hesaplamak) olarak temsil edilir. Örneğin CPU yükü, ağ kullanımı veya işlem sayısının her ölçümü için yalnızca tek bir değer veya veri noktası olabilir. Kullanım durumuna bağlı olarak, bu verileri çeşitli grafik türlerini kullanarak görselleştirebiliriz: Çizgi, sayaç, trafik ışıkları ve belirli bir kullanım durumu için bu bilgileri çizmek için ne gerekiyorsa kullanılabilir.
- Çalışma zamanı verileri: Hiyerarşik olarak bir metod sıralaması ve ilişkili çalışma süreleri bir çağrı ağacı olarak temsil edilir. Aslında bahsettiğimiz tüm çalışma zamanı ölçümleri ağaç olarak görselleştirilebilir. Bununla birlikte, bu farklı ağaçları okumak için semantic (anlam bilimin) her zaman aynı olmadığını unutmamak gerekir.
Zamana dayalı izleme verilerinin temsilini, anlaşılması oldukça kolay olduğu için daha ayrıntılı olarak ele almayacağız. Bununla birlikte, çalışma zamanı verilerinin farklı temsilleri biraz daha fazla açıklama gerektirir.
Çağrı Ağaçlarında Çalışma Verilerini Toplama
Hem zamana dayalı hem de olaya dayalı çalışma verileri, çağrı ağaçları olarak temsil edilebilir. Bu, tekil işlemlerin gerçek sırasını gösterememesine rağmen, arama hiyerarşisini oldukça güzel anlatır.
Çağrı ağaçları, esas olarak, metodların en sık çağrıldığı ve en büyük çalışma sürelerine sahip olduğu alanlar olan Hotspot (dikkat edilmesi gereken bileşenler) belirlenmesine yardımcı olmak için kullanılır.
İşin pratiği üzerinde konuşursak, yüksek CPU kullanımından kaynaklanan sorunlar veya uzun senkronizasyonun neden olduğu uzun bekleme süreleri, çağrı ağaçlarıyla kolayca teşhis edilir. Bununla birlikte, işlem sıralamasında bazı bilgilerin kaybı, mantıksal kontrol akışı sorunlarını bulmak için arama ağaçlarının kullanılmasını imkansız hale getirir.
Çağrı ağaçlarını kullanarak, uzun süredir devam eden ve karmaşık bir veritabanı çağrısının neden olduğu bir uygulamadaki problem noktasını da belirleyebilmeliyiz. Öte yandan, arama ağaçlarının, veritabanının tekrar tekrar sorgulanmasını gerektiren çok sayıda önbellek (cache) eksikliğinden kaynaklanan bir sorunu aydınlatması olası değildir. Önbellekleme yapılmaması durumu, çok fazla çalışma süresi tüketmediğinden büyük olasılıkla dikkat edilmesi gereken bileşenler arasında kaybolur gider.
Kullanılan performans aracına bağlı olarak, veritabanı ifadeleri olarak adlandırılanlar, belirli URL’ler veya diğer önemli teşhis verileri gibi ek bilgilere de sahip olabilirsiniz. Ayrıca belirli miktarda veri ve rapor özelleştirmesi gerekebilir. Bu verileri kullanmak, arama verilerini ayırt etmeye ve daha iyi ve daha basit bir analiz sağlamaya yardımcı olabilir.