Running PostgreSQL 9.5 na serwerze Windows 2012 R2 w AzurePostgresql: Nie można nawiązać połączenia, ponieważ komputer docelowy aktywnie odmawia ona
Podczas pracy niektóre loadtests na mojej aplikacji, otrzymuję błędy nie są w stanie połączyć się z serwer postgres. W dziennikach o PostgreSQL pojawia się następujący komunikat:
nie mógł odbierać dane z klientem: Nie można nawiązać połączenia ponieważ komputer docelowy aktywnie go odmawia.
Dzieje się tak tylko wtedy, gdy loadtest przechodzi do następnego scenariusza, trafiając w inną część kodu. Dlatego wymagane są nowe połączenia z bazą danych. Ale po 10-20 sekundach reszta scenariusza działa bezbłędnie, nie uderzając w żadną inną czkawkę. Problemem wydają się być połączenia TCP. (Mój kod ponawia kilka razy, ale to nie jest możliwe, aby pozwolić jej ponownie na 20 sekund)
Używam następujące ustawienia w plikach konfiguracyjnych
postgresql.conf
listen_addresses = '*'
max_connections = 500
shared_buffers = 1024MB
temp_buffers = 2MB
work_mem = 2MB
maintenance_work_mem = 128MB
pg_hba.conf
host all all 0.0.0.0/0 trust
host all all ::/0 trust
wiem, wiem .. to nie jest zapisać do przyjmowania połączeń z każdym, ale to tylko w celach testowych i upewnić się, ustawienia te nie blokują żadnej con nekcja. So this answer is void
Monitorowałem numer połączenia na serwerze i pod obciążeniem jest stabilny w 75. Postgres wykorzystuje około 350 MB pamięci RAM. Tak więc, biorąc pod uwagę konfigurację i specyfikacje vm (7GB pamięci RAM), powinno być dużo miejsca, aby utworzyć więcej połączeń. Jednak gdy następny scenariusz się kręci, liczba połączeń nie rośnie, pozostaje na tym samym poziomie i zaczyna wyświetlać komunikaty dziennika o braku połączenia.
Co może być problemem?
Zakładam, że przeładowałeś/zrestartowałeś usługę PostgreSQL po zmodyfikowaniu plików * .conf? – Nicarus
Tak Próbowałem innych konfiguracji z każdym ponownym uruchomieniem. –