pgpro_pwr Dokümantasyonu
pgpro_pwr modülü, veritabanındaki en kaynak yoğun işlemleri belirlemek için tasarlanmıştır. (pwr kökü, "power" olarak telaffuz edilir, Postgres Pro Workload Reporting'in kısaltmasıdır.) Bu modül, Statistics Collector görünümlerine ve pgpro_stats veya pg_stat_statements uzantısına dayanır.
Not: pgpro_pwr, pg_stat_statements uzantısı ile çalışabilir, ancak mümkünse pgpro_stats kullanılması önerilir, çünkü operatör planları, bekleme olayları bilgisi ve veritabanları, roller, istemci düğümleri ve uygulamalar için yük dağılımı istatistikleri sağlar.
Aşağıda, açıkça belirtilmediği sürece pgpro_stats kullanıldığı varsayılmaktadır.
pgpro_pwr'ın özü, biriken istatistiksel örnekleri işlemektir. Her örnek, önceki örnekten bu yana eklenen en aktif nesneler ve sorgular hakkında istatistiksel bilgiler içerir. Bu bilgiler daha sonra rapor oluşturmak için kullanılır.
pgpro_pwr, örnekleri almak için fonksiyonlar sağlar. Biriken düzenli örnekler, geçmiş zaman için veritabanı yükü raporları oluşturmanıza olanak tanır.
pgpro_pwr, toplu veri işleme, yük testi vb. sırasında örnekleri açıkça oluşturmanıza olanak tanır.
G.1.1. Mimari
pgpro_pwr, bir veritabanı kümesindeki tüm sunucular için istatistiksel verileri toplar ve analiz eder. Modül, pgpro_stats veya pg_stat_statements uzantısından gelen verileri kullanarak, en kaynak yoğun sorguları ve işlemleri belirler.
Her örnek alındığında, pgpro_stats_statements_reset() fonksiyonu (pgpro_stats'da açıklanmıştır) çağrılır, böylece operatör sayısı pgpro_stats.max değerini aştığında yürütme istatistikleri kaybolmaz (bkz. G.2.7.1). Ayrıca, raporda operatör sayısının pgpro_stats.max değerinin %90'ını aşıp aşmadığını öğrenebileceğiniz bir bölüm bulunur.
G.1.2. Ön Gereksinimler
pgpro_pwr kullanmak için, pgpro_stats veya pg_stat_statements uzantısının yüklü ve etkin olması gerekir. Mümkünse pgpro_stats kullanılması önerilir çünkü operatör planları, bekleme olayları bilgisi ve veritabanları, roller, istemci düğümleri ve uygulamalar için yük dağılımı istatistikleri sağlar.
İhtiyacınız olan veritabanında pgpro_stats kullanma imkanınız yoksa, ancak pg_stat_kcache uzantınız varsa, pgpro_pwr, pg_stat_kcache tarafından sağlanan komutların CPU kaynak kullanımı ve dosya sistemi düzeyindeki yük (rusage) hakkındaki bilgileri işleyebilir.
pgpro_pwr, pg_wait_sampling uzantısından toplu bekleme istatistikleri alır. pg_wait_sampling kullanıldığında, pgpro_pwr her örnek için bekleme örnekleme profilini sıfırlar.
G.1.3. Kurulum ve Hazırlık
pgpro_pwr, Postgres Pro Enterprise ve Postgres Pro Standard ile birlikte gelir. Kurulum için, uzantıyı veritabanında oluşturmanız gerekir:
CREATE EXTENSION pgpro_pwr;
Kurulumdan sonra, pgpro_pwr şeması oluşturulur ve gerekli tablolar ve fonksiyonlar bu şemada yer alır.
G.1.4. Sunucu Yönetimi
pgpro_pwr, bir veritabanı kümesindeki birden fazla sunucuyu yönetmenize olanak tanır. Sunucu eklemek, kaldırmak ve yapılandırmak için çeşitli fonksiyonlar sağlar.
Sunucu yönetimi için kullanılan ana fonksiyonlar:
- <code>pgpro_pwr.server_add(server_name text, server_description text DEFAULT NULL, server_connstr text DEFAULT NULL)</code> — Yeni bir sunucu ekler
- <code>pgpro_pwr.server_set(server_name text, server_description text DEFAULT NULL, server_connstr text DEFAULT NULL)</code> — Mevcut bir sunucunun ayarlarını değiştirir
- <code>pgpro_pwr.server_delete(server_name text)</code> — Bir sunucuyu siler
G.1.5. Örnek Yönetimi
pgpro_pwr'ın özü, biriken istatistiksel örnekleri işlemektir. Her örnek, önceki örnekten bu yana eklenen en aktif nesneler ve sorgular hakkında istatistiksel bilgiler içerir. Bu bilgiler daha sonra rapor oluşturmak için kullanılır.
Örnek almak için ana fonksiyon:
pgpro_pwr.take_sample(server_name text DEFAULT 'local', sample_tag text DEFAULT NULL)
Bu fonksiyon (take_sample()), belirtilen sunucudan bir örnek alır ve pgpro_pwr veritabanına kaydeder. sample_tag parametresi, örneği etiketlemek için kullanılabilir (örneğin, "load_test", "maintenance" vb.).
G.1.6. İlişki Boyutu Analizi Yönetimi
pgpro_pwr, veritabanı nesnelerinin boyutlarını analiz etmenize ve zaman içindeki değişiklikleri izlemenize olanak tanır.
G.1.7. Ara Örnek Yönetimi
Ara örnekler, düzenli örnekler arasında alınan ek örneklerdir. Bu örnekler, belirli zaman dilimlerinde veya yüksek yük dönemlerinde detaylı analiz için kullanılabilir.
G.1.8. Örnek Satır Yönetimi
Örnek satırları, örneklerin zaman içindeki gelişimini izlemek için kullanılır. Bu, veritabanı performansının zaman içindeki eğilimlerini analiz etmenize olanak tanır.
G.1.9. Veri Dışa ve İçe Aktarma
pgpro_pwr, toplanan verileri dışa aktarmanıza ve farklı sistemler arasında aktarmanıza olanak tanır. Bu, verileri yedeklemek veya farklı ortamlarda analiz etmek için kullanışlıdır.
G.1.10. Rapor Oluşturma Fonksiyonları
pgpro_pwr, toplanan verilerden detaylı raporlar oluşturmak için çeşitli fonksiyonlar sağlar. Bu raporlar, performans sorunlarını belirlemenize ve veritabanı optimizasyonu yapmanıza yardımcı olur.
G.1.11. pgpro_pwr Rapor Bölümleri
pgpro_pwr raporları, sorgu performansı, kaynak kullanımı, bekleme olayları ve diğer önemli metrikler hakkında bilgi içeren çeşitli bölümlerden oluşur.
G.1.12. pgpro_pwr Tanılama Araçları
pgpro_pwr, veritabanı performans sorunlarını tanılamak için çeşitli araçlar sağlar. Bu araçlar, yavaş sorguları, kaynak tıkanıklıklarını ve diğer performans sorunlarını belirlemenize yardımcı olur.
G.1.13. Önemli Notlar
pgpro_pwr kullanırken aşağıdakileri göz önünde bulundurun:
- Postgres Pro, bir sorgu yürütüldükten sonra sorgu yürütme istatistiklerini toplar. Bir sorgunun yürütülmesi zaman açısından birkaç örneği kapsıyorsa, ilişkili istatistikler yalnızca tamamlandığı zamana karşılık gelen örneğe girecektir.
- İstatistiklerin sıfırlanması durumunda, bir sonraki örnekteki bilgiler yanlış olabilir.
- İlişkiler için ayarlanan özel kilitler, bu ilişkilerin boyutunun hesaplanmasını engeller.
Bu sayfa diğer versiyonlarda: