Size: a a a

PostgreSQL + 1C + Linux

2020 November 11

ИС

Илья Савельев... in PostgreSQL + 1C + Linux
источник

ПМ

Павел Мякишев... in PostgreSQL + 1C + Linux
Попахивает новым докладом best practices web services 1C:Enterprise =)
источник

AF

Alexey Fedotov in PostgreSQL + 1C + Linux
Илья Савельев
Алексей добрый день, LK дал дельный совет!
попробуй добавить в vrd после секции http
<pool
         maxAge="10"/>
Попробуем посмотреть ...
источник

LK

L K in PostgreSQL + 1C + Linux
Илья Савельев
Я попробовал вчерашний тест с 50 сеансами, помогло, еще бы проверить с прибитием rphost
Илья, а можете сделать вывод?
Как я понимаю дефолтная настройка default.vrd не заточена под нагрузку и если есть нагрузка
приводящая к переключению rphost - нужно тюнить.
источник

ИС

Илья Савельев... in PostgreSQL + 1C + Linux
L K
Илья, а можете сделать вывод?
Как я понимаю дефолтная настройка default.vrd не заточена под нагрузку и если есть нагрузка
приводящая к переключению rphost - нужно тюнить.
Окончательный вывод делать на мой взгляд рано, нужно протестить с переездом rphost! В целом да можно сказать что дефолтные настройки по определению пула в vrd не подходят для высоких нагрузок
источник

SS

Sergey S in PostgreSQL + 1C + Linux
У нас все веб-соединения были вынесены на отдельный сервер, поэтому проблем с переключением не было. Были проблемы когда соединений подходило под 700, пока не установили настройки, тогда начинал жестко тупить сервер, пока это rphost не прибьешь.
источник

LK

L K in PostgreSQL + 1C + Linux
Sergey S
У нас все веб-соединения были вынесены на отдельный сервер, поэтому проблем с переключением не было. Были проблемы когда соединений подходило под 700, пока не установили настройки, тогда начинал жестко тупить сервер, пока это rphost не прибьешь.
Сергей, а сколько Вы считаете разумным поставить maxAge ?
<pool
         maxAge="10"/>
источник

SS

Sergey S in PostgreSQL + 1C + Linux
в нашем случае было минута - это было достаточно
источник

SS

Sergey S in PostgreSQL + 1C + Linux
все зависит от задачи, если например идет под 200 коннектов каждые 30 секунд, то тут надо ставить секунд 10-20, а если каждые 5 минут, то и минуту можно поставить.
источник

LK

L K in PostgreSQL + 1C + Linux
Похоже что  maxAge нужно тюнить в любом случае,
Сталкивался что при доступе к файловой базе зависают процессы apache (под windows)
Поставил
<pool maxAge="10" />
буду наблюдать.
источник

SS

Sergey S in PostgreSQL + 1C + Linux
iis под win надежнее, чем apache под win с файловой базой.  Чтобы корректно работал apache, пришлось ставить его перезапуск каждые сутки, когда заменил на iis вообще забыл про проблемы. Это лично мой опыт, не знаю как у других
источник

LK

L K in PostgreSQL + 1C + Linux
Sergey S
iis под win надежнее, чем apache под win с файловой базой.  Чтобы корректно работал apache, пришлось ставить его перезапуск каждые сутки, когда заменил на iis вообще забыл про проблемы. Это лично мой опыт, не знаю как у других
А какие у Вас были проблемы с apache под windows?
источник

SS

Sergey S in PostgreSQL + 1C + Linux
формы ломались (вместо иерархического списка начинало выводится не понятно что, колонки терялись и т.д.), я так подозреваю возможно из-за кэша.
источник

LK

L K in PostgreSQL + 1C + Linux
Ясно, спасибо.
источник

АД

Антон Дорошкевич... in PostgreSQL + 1C + Linux
Илья Савельев
Окончательный вывод делать на мой взгляд рано, нужно протестить с переездом rphost! В целом да можно сказать что дефолтные настройки по определению пула в vrd не подходят для высоких нагрузок
Они коррелируют с тем что выгрузить и загрузить Контекст в память процесса это очень дорогая операция.
Поэтому и сделано что 20 минут не выгружать.
А тут пришли тысячники пользователей и всё сломали)
источник

ИС

Илья Савельев... in PostgreSQL + 1C + Linux
Антон, каково твое мнение по значению?
источник

AF

Alexey Fedotov in PostgreSQL + 1C + Linux
Илья Савельев
Я попробовал вчерашний тест с 50 сеансами, помогло, еще бы проверить с прибитием rphost
В том то и дело что в нашем случае сеанс то остается "живой"
источник

AF

Alexey Fedotov in PostgreSQL + 1C + Linux
Мне кажется в нашем случае логичнее было бы увеличивать значение attemptTimeout (что нам и посоветовали сделать коллеги, но на 8.3.15.1830 - это не сработало), так как картина может (это только гипотеза) выглядеть таким образом: веб-расширение устанавливает соединение с новым рпхостом, далее из-за большого количества этих соединений рпхост не успевает отвечать в заданный таймаут (по умолчанию 0.5 сек), и веб-расширение генерирует новое соединение, как итог получаем "снежный ком" открытых соединений ... если то соединение, которое веб-расширение не дождалось по таймауту в рамках веб-расширения просто остается неактивным в пуле, то maxAge тоже может помочь решить эту проблему ...
Сейчас поставил attemptTimeout в 5000 понаблюдаем несколько дней, потом добавлю maxAge
источник

ИС

Илья Савельев... in PostgreSQL + 1C + Linux
Alexey Fedotov
Мне кажется в нашем случае логичнее было бы увеличивать значение attemptTimeout (что нам и посоветовали сделать коллеги, но на 8.3.15.1830 - это не сработало), так как картина может (это только гипотеза) выглядеть таким образом: веб-расширение устанавливает соединение с новым рпхостом, далее из-за большого количества этих соединений рпхост не успевает отвечать в заданный таймаут (по умолчанию 0.5 сек), и веб-расширение генерирует новое соединение, как итог получаем "снежный ком" открытых соединений ... если то соединение, которое веб-расширение не дождалось по таймауту в рамках веб-расширения просто остается неактивным в пуле, то maxAge тоже может помочь решить эту проблему ...
Сейчас поставил attemptTimeout в 5000 понаблюдаем несколько дней, потом добавлю maxAge
А где вы нашли 0.5 сек по дефолту? Речь о attmpTimeout ? или о другом
источник

AF

Alexey Fedotov in PostgreSQL + 1C + Linux
<pool attemptTimeout /> значение в миллисекундах, значение по умолчанию 500
источник