Çok fazla boştaki bağlantı PostgreSQL 9.2 performansını etkileyebilir mi?


8

Veritabanı sunucumdaki bazı sorguların yanıt vermesi uzun sürüyor ve CPU kullanımının yüksek olduğuna inanıyorum. Çalışırken ps aux, ~ 250 "boşta" bağlantıları (ki çok fazla olduğuna inanıyorum) görüyorum. Tam tanı koymaya başlamamıştım, ancak buranın bakmaya başlamak için iyi bir yer olup olmadığını bilmek istedim.

Ayrıca işlem düzeyinde havuzlama ile PgBouncer kullanıyorum. idleHavuz boyutunu ayarlayarak bağlantı sayısını kolayca azaltabildiğimden şüpheleniyorum . Ancak, bunu yapmak için iyi bir neden olmadığı sürece çok fazla değişiklik yapmaya başlamak istemiyorum.

idlePostgreSQL 9.2'deki birçok bağlantı performansı etkileyebilir mi?

Çok teşekkürler!


"çok fazla boşta bağlantı" ne anlama geliyor? onlarca? Yüzlerce?
jap1968

Düzenlenmiş soru. Bunu işaret ettiğiniz için teşekkürler. Açıkça söylemek gerekirse, son sayım ~ 250
Juan Carlos Coto

Olabilir? Buradaki Oracle DBA, geliştirme veritabanı çok yavaş çalışmaya başladığında insanlardan tüm araçlarını (her pencere için yeni bir oturum yerine) tek bir oturum kullanacak şekilde geliştirmelerini istediğini biliyorum. "Çok fazla" olarak kabul edilen tam sayı, büyük olasılıkla veritabanınızda kullanılabilen kaynaklara bağlı olacaktır.
SinirliWithFormsDesigner

Yanıtlar:


3

Boşta kalan bağlantıların senin sorunun olduğundan şüpheliyim. PostgreSQL, neredeyse hiç kaynak almadığı için boş oturumları yönetebiliyor. Öte yandan aktif seansların yavaşlama nedeni çok daha yüksektir.

Veritabanı bağlantılarının sayısı hakkında bilgi için bkz. Https://wiki.postgresql.org/wiki/Number_Of_Database_Connections .


Taahhütsüz işlemlerle atıl oturumlar genellikle yaramaz suçlular!
Philᵀᴹ

Katılıyorum, Phil, bu gerçekten PostgreSQL ile ilgili değil - daha fazla müşteri sonu nasıl yazılır hakkında (bir şey eksik sürece).
Max Vernon

Lütfen bununla ilgili bir soruya bakın . Eğer üzerine attıysan gerçekten yardımcı olur. Teşekkürler!
Juan Carlos Coto

Aslında boşta kalan bağlantıların çok fazla (bellek) yükü var ve bunlardan kaçınılmalıdır (bence bağlantı başına yaklaşık 10MB ayırır, böylece sizin durumunuzda en az 2.5GB bellek israf edersiniz)
Kedare

1
@ MaxVernon - çalışan postgresql 9.5 sunucumda, RES sütun, ea için 25 boşta süreçleri var. süreç ortalama yaklaşık 12MB (aralık: 4.5MB - 584MB, daha büyük olanların united tx olduğundan şüpheleniyorum).
Cerd
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.