Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Периодически получаю ошибку Timeout while getting a connection from pool, как лечить
|
|||
|---|---|---|---|
|
#18+
Есть некий сервис, который использует NHibernate версии 3.3.0.4000, Postgres версии 9.1.13 и либу Npgsql 2.0.11.0. Для подключения к базе данных используется следующий ConnectionString "HOST=localhost;PORT=5432;PROTOCOL=3;DATABASE=base;USER ID=user;Password=password;POOLING=True;CONNECTIONLIFETIME=1000;MINPOOLSIZE=1;MAXPOOLSIZE=1024;COMMANDTIMEOUT=200;INTEGRATED SECURITY=False;" у сервера стоит maxconnection 200. Получаю вот эту ошибку Timeout while getting a connection from pool, которой завершается любая попытка открытия соединения с базой данных. Помогает только перезапуск сервиса. Что интересно запрос SELECT COUNT(*) FROM pg_stat_activity; возвратил при последнем случаи возникновения ошибки число 148, тогда как максимальное количество разрешенных одновременных соединений с базой данных 200, как вы могли ранее прочитать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2018, 14:50 |
|
||
|
Периодически получаю ошибку Timeout while getting a connection from pool, как лечить
|
|||
|---|---|---|---|
|
#18+
ЗавитушкинЕсть некий сервис, который использует NHibernate версии 3.3.0.4000, Postgres версии 9.1.13 и либу Npgsql 2.0.11.0. Для подключения к базе данных используется следующий ConnectionString "HOST=localhost;PORT=5432;PROTOCOL=3;DATABASE=base;USER ID=user;Password=password;POOLING=True;CONNECTIONLIFETIME=1000;MINPOOLSIZE=1;MAXPOOLSIZE=1024;COMMANDTIMEOUT=200;INTEGRATED SECURITY=False;" у сервера стоит maxconnection 200. Получаю вот эту ошибку Timeout while getting a connection from pool, которой завершается любая попытка открытия соединения с базой данных. Помогает только перезапуск сервиса. Что интересно запрос SELECT COUNT(*) FROM pg_stat_activity; возвратил при последнем случаи возникновения ошибки число 148, тогда как максимальное количество разрешенных одновременных соединений с базой данных 200, как вы могли ранее прочитать. По моему сочетание MAXPOOLSIZE=1024 с maxconnection 200 = к проблемам. А вообще - смотрим в лог базы доходило там до 200 или нет. Потом смотрим как с Npgsql смотреть чем у него пул занят в работающем приложении и разбираться там. PS: ну или поставить pgbouncer по пути с transaction pooling и пусть долгоносик подавится. -- Maxim Boguk dataegret.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2018, 15:16 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=53&tid=1995711]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
34ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 274ms |
| total: | 393ms |

| 0 / 0 |
