Pages

19 Ekim 2012 Cuma

Yüksek “DB Time” değeri hakkında bir inceleme

Yüksek CPU kullanımı ile kendini göstermeyen ve bekleme sebebiyle oluşan performans problemi ile karşılaşılırsa ne yapılır? Bekleme belki mandallar(latches), kilitler veya mesela yavaş disk gibi farklı kaynaklar yüzünden olabilmektedir. Oracle 10g sürümünden itibaren CPU zaman tüketimi ve beklemesini gözönünde bulunduran sözde zaman modeli istatistiklerini sunmaktadır. Bu istatistikler (V$SYS_TIME_MODEL) ve oturum seviyesi için (V$SESS_TIME_MODEL) sistem görünümlerinden elde edilebilir. İşin özünde, veritabanı instance içinde harcanan zaman değerlendirmeye alınmaktadır.

“DB Time”  veritabanı kullanıcı seviyesi çağrılarını yerine getirirken geçen zaman miktarının mikrosaniye bazında toplamıdır. PMON gibi instance arkaplan proseslerinde geçen süre bu hesaplamaya dahil edilmez.

“DB Time” metriğine dahil olan durumlar aşağıda yer almaktadır;

·         DB CPU
·         Bağlantı yönetimi çağrısı esnasında geçen süre
·         Sekuans yüklemesi esnasında geçen süre
·         SQL yürütmesi esnasında geçen süre
·         Ayrıştırma esnasında geçen süre
·         PL/SQL yürütmesi esnasında geçen süre
·         Gelen PL/SQL rpc çağrıları esnasında geçen süre
·         PL/SQL derlemesi esnasında geçen süre
·         Java yürütmesi esnasında geçen süre