Niektóre zapytania na moim serwerze bazy danych wydają się długo odpowiadać i uważam, że użycie procesora jest wysokie. Podczas pracy ps aux
widzę ~ 250 „bezczynnych” połączeń (które uważam za zbyt wiele). Nie zacząłem przeprowadzać pełnej diagnozy, ale chciałem wiedzieć, czy to dobre miejsce, aby zacząć szukać.
Używam również PgBouncer z pulą na poziomie transakcji. Podejrzewam, że mogę łatwo zmniejszyć liczbę idle
połączeń, dostosowując wielkość puli. Nie chcę jednak robić zbyt wielu zmian, chyba że istnieje ku temu dobry powód.
Czy wiele idle
połączeń w PostgreSQL 9.2 może wpływać na wydajność?
Dziękuję bardzo!
postgresql
database-design
performance
query-performance
Juan Carlos Coto
źródło
źródło
Odpowiedzi:
Poważnie wątpię, czy problemem są bezczynne połączenia. PostgreSQL jest w stanie obsłużyć bezczynne sesje, ponieważ nie wymagają prawie żadnych zasobów. Z drugiej strony aktywne sesje są o wiele bardziej prawdopodobne przyczyną spowolnienia.
Zobacz https://wiki.postgresql.org/wiki/Number_Of_Database_Connections w celu uzyskania informacji na temat liczby połączeń z bazą danych.
źródło