İstatistikler Hakkında Birkaç Özet Bilgi

Aslında yola Automatic Worload Repository ile ilgili bişeyler yazmak için çıkmıştım. Ancak önemli bazı noktaları atlamak istemediğim için yazmadan öncesinde oracle documantation dan göz atmak istedim. Konuya ilk girişde AWR, istatistikler ile birebir ilişkili olduğundan dolayı öncelikle istatistikler hakkında nedir, çeşitleri nelerdir, ne ifade ederler şeklinde özet bir takım bilgiler vermiş. Konunun anlaşılması ve kavramların daha iyi oturması için bende bu kısma ufakdan bir giriş yapıp, özet olarak bu başlıklar hakkında bikaç cümle yazayım dedim. Sonrasında AWR ile devam edeceğiz.

Database’ de performans ile ilgili sorunların etkili bir şekilde teşhiş edilmesi için istatistiklerin mevcut olması gerekmektedir. Oracle Veritabanı sistemi, oturumlar ve tek başına SQL deyimlerinin toplu istatistikleri birçok türde  üretir ve saklar. Oracle segmentler ve serviceler üzerindeki kümülatif istatistikleri de izler.  Database tarafından toplanan kümülative istatistiki verileri dinamik performans viewlerinde tutar. (v$sesstat, v$sysstat gibi) Burada şunu unutmamak gerekir, database kapatıp açıldığında kümülative istatistikler sıfırlanır.  Sonrasında bu istatistiklerin toplanması işi düzenli olarak belli aralılarla AWR aracılığıyla devam eder.  Active kullanılan sessionlar la ilgili olarak istatistikleri ASH (active session history) toplar.

Alınan bu istatistikler, performansın kötü olduğu dönemlerde, önceki dönem istatistikleriyle karşılaştırılarak performans düşüklüğünü tespit etmeye yardımcı olur. Dba’ lerin performans ile ilgili şikayetlerin arttığı dönemlerde (şikayet gelmediği dönemlerde de sistemi gözlemlemek adına da) çok sık ziyaret ettikleri bir araçtır.

İstatistikleri 3 kısımda düşünebiliriz.

1.     Veritabanı İstatistikleri   (Database Statistics)

2.     İşletim Sistemi İstatistikleri (Operating System Statistics)

3.     Yorumlama İstatistikleri  (Interpreting Statistics)

 

1.    Veritabanı İstatistikleri  (Database Statistics)

Database istatistikleri, database tarafından kullanılan iç ve dış kaynakların getirdiği yoğunluk hakkında bilgi verir. Bazı önemli veritabanı istatistikleri açıklamaya çalışalım;

 

Wait Events

Wait event istatistikleri, özetle çalışan bir sessionı beklemek zorunda bırakan işlemlerdir.  Beklemeleri analiz edebilmek için bu işlemler sınıflandırılmıştır. Örneğin;  Administrative, Application, Cluster, Commit, Concurrency, Configuration, Idle, Network, Other, Scheduler, System I/O ve User I/O. Vs.

Aşağıdaki listede wait class’ ların yaygın olarak görülenleri ile örnekler yer almaktadır;

·         Application: lock waitlerinin nedeni, satır bazında veta tablo bazındaki lock komutlarından,

·         Commit: Commit onayının alınmasından sonra, redologlar da yazmak için oluşan beklemeler,

·         Idle: Etkin olmayan oturumlardaki beklemeler, örneğin, SQL*Net message from client

·         Network: network üzerinden kaynaklanan data beklemeleri,

·         User I/O: Okumalardan kaynaklanan beklemeler.

İnstance’ ın wait event istatistikleri, hem background hemde foreground processlerine ait istatistikleri de içerir.

 

Time Model Statistics

 

Oracle database tun  edilirken, her bir component kendi istatistiklerini set eder. Sistemin bütününe bakmak için,  bu karşılaştırmalar da ortak bir ölçek kullanılması şarttır.  Model istatistiklerden db_time çok önemlidir.  Bu istatistik  database’ deki toplam iş yükününü gösterir. Bu değer Cpu ve tüm sessionlardaki (idle olan user sessionları hariç) beklemelerin toplamıyla hesaplanır. Db_time instance start oldukdan sonraki değerlerin toplamıdır. Çünkü db_time değeri idle olmayan user sessionlarının kombinasyonundan oluşur.

 

Active Session History

 

V$ACTIVE_SESSION_HISTORY view’ i database içerisinden seçmiş olduğu sample sessionlara ait  aktivite’ ler ile ilgili istatistikleri tutar.

 

System and Session Statistics

Çok sayıda kümülative database istatistikleri, system ve session bazında V$SYSSTAT and V$SESSTAT views’ leri aracılığıyla kullanılabilir.

2.    İşletim Sistemi İstatistikleri (Operating System Statistics)
Operating system istatistikleri, operating systemin performansı ile sistemin ana donanım bileşenlerinin performansı hakkında bilgi verir. Performans düşüklüklerinde bu bilgi son derece önemlidir.  Operating system istatistikleri, operating systemin ve hardware ‘ in nasıl çalıştığının bir göstergesidir.  Operating system istatistikleri aşağıdaki istatistikleri içerir;

 

CPU Statistics

 

CPU kullanımı tuning sürecinde en önemli işletim sistemi istatistiki bilgisidir. Tüm sistemin veya çok işlemcili ortamlarda her bir CPU’ nun istatiskleri mutlaka alınmalıdır.

 

Virtual Memory Statistics

Virtual memory istatistikleri, system üzerinde çok az miktarda paging veya swapping işlemi olduğunda doğrulamak için bir onay olarak kullanılmalıdır. System paging veya swap kullanmaya başladığı zaman, performans hızla düşer.

 

Disk I/O Statistics

Alt systemlerin i/o performansı, disk setleri üzerindeki database’ in performansı açısından son derece önemlidir. Birçok işletim sistemi disk perfromansı hakkında ciddi istatistiki veri sağlar. En önemli disk istatistik verisi, gerçek responce time süresi ile disk queues’ sunun büyüklüğüdür. Diskin optimum seviyede çalışıp çalışmadığı veya disk üzerindeki yoğunluğu bu istatistikler göstermektedir.

Örneğin system üzerindeki normal bir i/o performansının ölçümü;  hardware kullanımına bağlı olarak tek bir bloğun okuma süresi 5 ile 20 milisaniye arasında olmalıdır. Eğer responce time süresi normal performans süresinden büyükse, bu kötü bir performans olduğunu gösterir.

 

Network Statistics

Eğer network veya network arabirimi aşırı yüklü ve optimum performansda çalışmıyorsa, disk istatistiklerine benzer bir şekilde network istatistikleri kullanılabilinir.  Bu nedenle, bu istatistikler önemli bir hata ayıklama aracıdır.

 

Operating System Data Gathering Tools

Unix için aşağıdaki componentler bazında operating bazında istatistikleri almak için bu komutlar kullanılabilirsiniz, widows için se performans monitör tool’ u kullanılabilir. 

Component UNIX Tool
CPU sar, vmstat, mpstat, iostat
Memory sar, vmstat
Disk sar, iostat
Network Netstat

 

3.    Yorumlama İstatistikleri (Interpreting Statistics)

Başlangıç da performance istatistiklerine bakarak,  istatistiklerini inceleyerek potansiyel teorilerinzi formüle edebilirsiniz. İstatistikleri doğru yorumladığınızdan emin olmanın bir yoluda çapraz kontroller yapmaktan geçer. Buda istatistik veya eventın ne kadar doğru olduğunu gösterir.

AWR’ a geçmeden önce istatistikler üzerinden de özetle geçmiş olduk. Başta da dediğim gibi AWR istatistikler ile çok yakından ilgili, hatta database’ de istatistiğiniz yok ise alınmıyorsa, AWR’ ınız da çalışmayacaktır.

Bu ay biraz yoğun geçtiğinden dolayı blogla çok fazla ilgilenemedim. Çok yakında daha sık görüşüyor olacağız diye umuyorum 🙂

Be Sociable, Share!

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


dokuz + = 17