|
Соединения с PG в Windows в "замороженном" состоянии
|
|||
---|---|---|---|
#18+
Есть одна проблема, имеющая корни в прошлом, но решать ее нужно сейчас и на будущее. Возможно, вопрос скорее по администрированию Windows. Итак, есть старое приложение, по роду своей деятельности постоянно общающееся с PG. Имеет множество однотипных потоков в этом приложении, каждый из которых поднимает свое соединение с БД. Соответственно, на каждое соединение запускается процесс postgresql.exe и работает (должен работать) пока работает сам поток. Пока потоков мало, все работает стабильно. Но с превышением числа потоков >50 шт. Windows "замораживает" примерно половину процессов postgresql.exe, из-за чего приложение работает некорректно, а то и вовсе "падает". Есть ли способ настроить либо ОС, либо БД так, чтобы все процессы postgresql.exe работали постоянно? Каждый поток приложения соединяется с БД с одинаковыми учетными данными. Приложение и среду выполнения менять нельзя. Windows 10 Pro x64, Postgres 9.6 x64. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2021, 15:41 |
|
Соединения с PG в Windows в "замороженном" состоянии
|
|||
---|---|---|---|
#18+
alxdef, Что значит "замораживает"?? Можете показать конкретный статус, конкретных процессов, скрины и т.д.?? Больше похоже не на проблемы СУБД, а на проблемы архитектуры Вашего приложения, не адаптированного под такое параллельное масштабирование. Не знаю сколько у вас там ядер и что это за ядра, но обычно N+1 потоков в приложении уже не имеет какого-то особенного смысла (по производительности точно), если вы конечно специально не занимаетесь диспетчеризацией ваших поток в приложении. Наверно стоит сначала где-то здесь почитать, разобраться, потом уже грешить на СУБД. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2021, 09:54 |
|
Соединения с PG в Windows в "замороженном" состоянии
|
|||
---|---|---|---|
#18+
grgdvo alxdef, Что значит "замораживает"?? Можете показать конкретный статус, конкретных процессов, скрины и т.д.?? Больше похоже не на проблемы СУБД, а на проблемы архитектуры Вашего приложения, не адаптированного под такое параллельное масштабирование. В колонке "Состояние" "Монитора ресурсов" указано "Прервано". Я не грешу на СУБД, мне нужно решить проблему в рамках моей задачи. Потому и спрашиваю, может есть те, кто уже сталкивался с подобным. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2021, 10:41 |
|
Соединения с PG в Windows в "замороженном" состоянии
|
|||
---|---|---|---|
#18+
alxdef grgdvo alxdef, Что значит "замораживает"?? Можете показать конкретный статус, конкретных процессов, скрины и т.д.?? Больше похоже не на проблемы СУБД, а на проблемы архитектуры Вашего приложения, не адаптированного под такое параллельное масштабирование. В колонке "Состояние" "Монитора ресурсов" указано "Прервано". Я не грешу на СУБД, мне нужно решить проблему в рамках моей задачи. Потому и спрашиваю, может есть те, кто уже сталкивался с подобным. А, что в системном логе и в логе postgresql, по этому поводу... ? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2021, 11:56 |
|
Соединения с PG в Windows в "замороженном" состоянии
|
|||
---|---|---|---|
#18+
fte А, что в системном логе и в логе postgresql, по этому поводу... ? Отвечу, как будет доступ к оборудованию - сейчас выходные. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2021, 12:04 |
|
Соединения с PG в Windows в "замороженном" состоянии
|
|||
---|---|---|---|
#18+
Какие у вас значения параметров конфигурации max_connections, superuser_reserved_connections, idle_in_transaction_session_timeout? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2021, 14:19 |
|
Соединения с PG в Windows в "замороженном" состоянии
|
|||
---|---|---|---|
#18+
KATEROK Какие у вас значения параметров конфигурации max_connections, superuser_reserved_connections, idle_in_transaction_session_timeout? Код: powershell 1. 2. 3. 4. 5.
Да, именно так, закомментировано. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2021, 15:17 |
|
Соединения с PG в Windows в "замороженном" состоянии
|
|||
---|---|---|---|
#18+
fte alxdef пропущено... В колонке "Состояние" "Монитора ресурсов" указано "Прервано". Я не грешу на СУБД, мне нужно решить проблему в рамках моей задачи. Потому и спрашиваю, может есть те, кто уже сталкивался с подобным. А, что в системном логе и в логе postgresql, по этому поводу... ? В системном тишина, а в PG такие строчки в большом количестве: Код: powershell 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.06.2021, 15:21 |
|
Соединения с PG в Windows в "замороженном" состоянии
|
|||
---|---|---|---|
#18+
alxdef, Как потокам выдаются соединения?? Каждый поток пытается открыть свое соединение или есть пуллер соединений, который выдает потоком что-то по требованию?? Сдается мне, что нет пуллера соединений и большое количество потоков просто не успевает обрабатываться. Помониторьте хотя бы через TCPView как у вас открываются и закрываются соединения при росте потоков. Может что-то увидете, как меняются статусы соединений. Через Process Monitor или Resource Monitor или Process Explorer мониторте потоки и их действия. Вероятно и увидите картину, что при возрастающем количестве потоков все резко становится плохо. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2021, 18:05 |
|
|
start [/forum/topic.php?fid=53&fpage=10&tid=1993967]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 253ms |
total: | 375ms |
0 / 0 |