SAP Performans Kriterleri – ST04

SAP Performans Kriterleri – ST04

Günümüzde uygulama performansı oldukça önemli bir yer teşkil etmektedir. Uygulama performansı deyince işlemci, hafıza ve disk gibi donanım kaynaklarının efektif ve etkin olarak kullanılması, kurgulanan altyapının ölçülebilir değer aralıkları içerisinde bulunması anlaşılmalıdır. Bahsi geçen değer aralıkları donanım, veritabanı ve uygulama geliştiriciler tarafından tecrübelere dayalı olarak belirlenen rakamlardır. Bir sistem yöneticisinin ana görevlerinden biri de, sistemleri ayakta tutmanın yanı sıra, değerleri belirlenen aralıklar içerisinde tutumak ve bunun için gerekli parametrik ayarlamaları planlayıp uygulanmasını sağlamaktır. Bu şekilde hem müşteri memnuniyetini üst düzeyde tutacak hem de sistem kaynaklarının efektif kullanmamasından dolayı oluşabilecek sorunların otomatik olarak önüne geçmiş olacak ve kendi çalışma hayatını da daha konforlu hale getirmiş olacaktır.

Dünyanın en büyük ve gelişmiş kurumsal kaynak planlaması şirketlerinden biri olan SAP, kendi uygulamaları için sistemlerin “well-tuned” tanımına uygun olarak koşmasını sağlayacak performans değerleri yayınlamaktadır. Bu değerler, edinilmiş tecrübeler doğrultusunda belirlenmektedir.

Bilindiği gibi SAP uygulamaları, işletim sistemi ve veritabanı bağımsız olarak çalışmaktadır. Fakat, bu makalemiz içerisinde Oracle veritabanına özgü performans değerlerinden bahsediyor olacağız.

Veritabanı performansının ölçümü için ST04 işlem kodundaki istatistik değerlerini yorumluyor olmamız gerekmektedir. Bununla ilgili ekran görüntüsünü aşağıda bulabilirsiniz;

Data buffer başlığı altında bulunan “Quality %” değerinin %98 ve üzerinde olması önerilmektedir. Bu değer, 8k büyüklüğündeki (SAP standardı) veri bloklarının yüzde kaç oranında data cache buffer üzerinden üzerinden okunduğunu göstermektedir. Formülasyonu ise “1 – ( physical reads / (db block gets + consistent gets))” şeklindedir. Aynı başlık altında yer alan “logical reads” değeri, “physical reads” değerinden yüksek olmalıdır. Bunun anlamı logical read ne kadar yüksekse, o kadar az disk I/O operasyonu yapıldığıdır. Çünkü physical reads, disk üzerinden okuma anlamına gelmektedir. Buffer busy waits, okunan ya da üzerinde değişiklik yapılan veri bloğunun, aynı bloğa istek yapan başka bir process tarafından beklenme sayısıdır. Bu değerin yüksek olmaması önerilmektedir.

Shared pool başlığı altındaki “DD cache quality” değeri, veri yapılarının, veritabanı kullanıcıları ve yetkilerinin tutulduğu buffer alanının kalitesini göstermektedir. Bu değer, %90 altına düşmemelidir. “SQL area get/pin ratio” ise daha önceden çalıştırılan SQL cümlecikleri için oluşturulan “execution plan” bilgisinin memory üzerinden okunma oranıdır. Bu değerin %99 altına düşmemesi gereklidir. “Reload/pin” değerinin %4’ten küçük olması önerilir.Bu alanlar, “shared_pool_size” parametresi ile konfigüre edilebilir.

Log buffer başlığı altındaki değerler, redo log buffer ve online redolog grupları ile ilgilidir. Bu başlık altındaki “Allocation retries” değerinin düşük olması beklenmektedir. “Redo log wait” ise, log writer process’inin (LGWR), log buffer alanına yazmak için ne kadar beklediğini gösteren bir değerdir. Ayrıca, “Alloc fault rate%” değerinin %0’dan büyük olmaması beklenmelidir. Bu değerin yüksek olması, log buffer alanının yeterli olmadığı kanısını oluşturabilir. Dolayısıyla, log buffer parametresini arttırmak gereklidir.

Calls başlığı altındaki değerler, yapılan SQL çağrılarını göstermektedir. Alan içinde bulunan “User/Recursive Calls” değeri, 2’den büyük olması önerilir. Bu değer kullanıcı çağrılarının, internal database çağrılarına oranını göstermektedir. “Log.Reads/User calls” değeri, pahalı SQL cümleciklerinin belirlenmesini sağlayan bir göstergedir. SAP tarafından önerilen değer, oranın 30’dan küçük olmasıdır. Sistem üzerinde yapılan çağrıların, veritabanı tamponu üzerinden okuduğu blok sayısına oranını ve sistemde pahalı SQL cümleciklerinin var olup olmadığını göstermektedir. Eğer eşik değeri aşılıyorsa, SQL analizi yapılarak, uygulamaların optimize edilmesi sağlanabilir.

Time statistics başlığı altında, “Busy Wait Time/CPU time session” oranı, “60:40” olarak önerilmektedir. Non-idle olayların, işlemci üzerinde aldığı süreye oranıdır. Oran dışına çıkan sistemlerde “wait event” analizi yapmak yerinde olacaktır. “Time/User call” değeri, 15 ms’den küçük olması önerilmektedir. Değer, “(busy wait time + CPU time) / user calls” şeklinde formüle edilmektedir. Kullanıcı çağrılarının, ortalama ne kadar süre aldığını belirten bir göstergedir.

Sorts alanı içerisinde bulunan değerler optimal, soft ve hard sort operasyonlarının sayısını anlatan bir göstergedir. Bu değerler, sistem üzerinde yapılan sort işlemlerinin kaç tanesinin memory üzerinde ya da disk üzerinde yapıldığını gösterir. Bu alan PGA üzerinde olduğu için, PGA memory alanı üzerinden konfigürasyonu yapılabilir. Doğru konfigüre edilmiş sistemlerde, “Soft parse ratio” değeri 1’e yakındır. Fakat, hiçbir zaman 1 olması beklenemez. Çünkü, sistemin durumuna göre mutlaka disk üzerinde sort operasyonu yapılmaktadır.

Yukarıda bahsettiğimiz, “SAP tarafından” önerilen değerler çerçevesinde bulunan bir sistem için düzgün konfigüre edilmiş bir sistem diyebiliriz. Burada dikkat çekmek istediğim çok önemli bir husus ta “optimizasyon çalışmalarının, sadece veritabanı parametrelerini ayarlamaktan ibaret olmadığıdır”. Asıl dikkat edilmesi gereken nokta, uygulamaların sistem kaynaklarını nasıl kullandığıdır. Sistem performansı gözetmeden geliştirilen uygulamalar, ne kadar kaynak sağlarsanız sağlayın yine de daha fazla kaynağa ihtiyaç duyacağından dolayı, bir optimizasyon çalışmasında ilk olarak uygulamaların optimize edilmesi, buna paralel olarak ta veritabanı ve sistem parametrelerinin hesaplanıp uygun şekilde konfigüre edilmesi gerekliliği açıktır.

Makale içerisinde konuları, teknik detaylara inerek neden ve sonuç bağlamında anlatmaya çalıştım. Daha detaylı bilgileri gelecek dönemler içerisindeki makalelerimle vermeye çalışıyor olacağım.

 

A. Orkun Gedik - SAP Community Network Topic Leader 2012 – Databases and OS Platforms

Hakan AK

Son Yazılar