Длинные сообщения вешают сервер.

Волонтерская поддержка приложения Bimoid Server (Windows). Общаемся по проблемам, ошибкам, делимся опытом их решения. Не забываем указывать версию серверной части.
Ответить
MaxBask
Сообщения: 6
Зарегистрирован: Ср апр 19, 2023 11:44 am

Длинные сообщения вешают сервер.

Сообщение MaxBask »

Добрый день.
Версия сервера 2.0.49.5. Стал периодически зависать сервер. В логах SQL через какое то время, не сразу, появляется запись: 15:30:44 Error: Access violation at address 00402D6F in module 'BimoidSrv32.exe'. Write of address 00310032. Монитор службы видит что служба работает, но при её перезапуске она зависает на остановке. Обратил внимание, что зависанию предшествует отправка больших сообщений. Порядка 3800 символов. Сотрудники пересылают друг другу списки. В настройках увидел, что максимальная длина блока сообщения 32000, т.е. должен справляться. Пока ограничил блок до 3000 символов, но сотрудники жалуются, что для удобства нужно пересылать больше. Куда могу посмотреть? Может какой кэш увеличить или что ещё?
inf
Site Admin
Сообщения: 147
Зарегистрирован: Ср мар 16, 2022 4:04 pm

Re: Длинные сообщения вешают сервер.

Сообщение inf »

Добрый! Укажите, пожалуйста, какую субд вы используете? Также больше логов бы не помешало и отчет об ошибке, который возможно создает сервис в своей папке или папке логов. Как рекомендация, если используете встроенную sqlite, то возможно стоит взглянуть на использование полноценной субд (в компаниях чаще используют PostgreSQL) для передачи сообщений больших объемов.
MaxBask
Сообщения: 6
Зарегистрирован: Ср апр 19, 2023 11:44 am

Re: Длинные сообщения вешают сервер.

Сообщение MaxBask »

Использую SQL Server 2019. Ошибок никаких не записывается кроме вышеописанной в логе SQL, zabbix мониторит службу BimoidSvc как рабочую, до попытки перезапуска службы. Видимо и лог SQL записывается когда служба пытается остановится при перезапуске. Я могу её выключить только из командной строки taskkill. То есть по факту, просто перестают ходить сообщения, пользователи в сети, службы работают. Сейчас отключил антифлуд, посмотрю на реакцию.
MaxBask
Сообщения: 6
Зарегистрирован: Ср апр 19, 2023 11:44 am

Re: Длинные сообщения вешают сервер.

Сообщение MaxBask »

В общем перестает отправлять сообщения после длинных сообщений, видимо какой то буфер переполняется. Провели стресс тест, сообщений 10 по 3 с половиной тысячи пропустил, на 7 перестал, перезапустил службу, при первом сообщение на 5000 символов, опять остановился.
inf
Site Admin
Сообщения: 147
Зарегистрирован: Ср мар 16, 2022 4:04 pm

Re: Длинные сообщения вешают сервер.

Сообщение inf »

Хм, тут возможно есть какая-то несовместимость с более новым sql server. Поскольку во время разработки последней версией sql server была вроде как 2012, всё-таки много лет прошло.
Ответить