Postgres veritabanındaki veritabanı bağlantılarının sayısını izlemek için bir Nagios komut dosyası kullanmaya çalıştım ve bu soruna ulaştım: bunlar şu anda açık bağlantılar olarak sayılıyor ve her 5 dakikada bir ölçülüyor.
SELECT sum(numbackends) FROM pg_stat_database;
Yine de, bu çok sayıda kısa ömürlü bağlantıyı kaçırıyor gibi görünüyor, bu yüzden istatistikler gerçeklikten uzak.
Komut dosyasını el ile çalıştırmayı denedim ve birbirinden birkaç saniye uzakta iki bağlantı arasında büyük değişiklikler gözlemledim.
Bu bilgiyi nasıl güvenilir bir şekilde alabilirim? max (connectios) gibi bir zaman aralığında gerçekleşti.
PgBouncer
PostgreSQL örneğinizin önüne bir koymanızı şiddetle tavsiye ederim , bağlantıları reddetmek yerine çok meşgul olduğunda sıraya koyacaktır. (Evet, PostgreSQL'in kendi kendine yapamayacağı aptalca ama basit bir düzeltme değil; postalama listelerindeki yerleşik tartışmalara bakın.
log_connections
ve log_disconnections
) kullanarak günlük dosyasına (örn. Csvlog) günlüğe kaydetmeye ve sonra pgBadger veya günlük dosyasından ayıklamaya benzer bir şey kullanmaya ne dersiniz?