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.
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 :)
Hiç yorum yok:
Yorum Gönder