SQLRU.net
Разработка приложений баз данных

Начало » Использование СУБД » Firebird, HQbird, InterBase » Firebird 4.0.2 "уходит в себя" при завершении работы клиентского приложения (При остановке прикладной службы, не закрывающей подключения к базе, служба firebird забирает на себя все доступные ресурсы процессора минут на 30.)
Firebird 4.0.2 "уходит в себя" при завершении работы клиентского приложения [сообщение #1572] Tue, 07 February 2023 17:49 Переход к следующему сообщению
Sigma-Soft в настоящее время не в онлайне  Sigma-Soft
Сообщений: 7
Зарегистрирован: February 2023
Junior Member
Железо: HPE Proliant DL360 Gen9, 2*Intel(R) Xeon(R) CPU E5-2680 v3, 128GB RAM
Smart Array P440ar RAID 10 1,75 ТБ

Операционная система: Windows Server 2022 Standard
Firebird 4.0.2.2816
База 356 ГБ

Проявления:
При остановке службы (наша разработка), примерно один раз из 3...4 случаев, служба firebird забирает все доступные ресурсы процессора.
Процесс, подключавшийся к базе, завершён.
Дисковой активности нет.
К базе подключиться не получается ни перезапущенным процессом, ни IBExpert.
Если не трогать, firebird отпускает базу (и процессоры) примерно через 30 минут. Поскольку мешает клиентам, приходится снимать задачу через Диспетчер задач.

База сконвертирована из 2.5 в середине октября 2022 г. Месяц работало идеально. Началось после изменения ServerMode с Super на SuperClassic.

В firebird.log записи:
- в <FirebirdRoot>, повторяющиеся по количеству незакрытых подключений:
EDSRV   Tue Feb  7 08:43:25 
        INET/inet_error: read errno = 10054, client host = edsrv, address = ::1/59685, user = система
- на уровень выше:
EDSRV (Client)	Tue Feb 07 08:44:44 2023
	INET/inet_error: send errno = 10054


EDSRV (Client)	Tue Feb 07 08:44:44 2023
	REMOTE INTERFACE/gds__detach: Unsuccesful detach from database. 
	Uncommitted work may have been lost

Re: Firebird 4.0.2 "уходит в себя" при завершении работы клиентского приложения [сообщение #1573 является ответом на сообщение #1572] Tue, 07 February 2023 20:34 Переход к предыдущему сообщениюПереход к следующему сообщению
sim_84 в настоящее время не в онлайне  sim_84
Сообщений: 330
Зарегистрирован: June 2022
Senior Member
Цитата:
Началось после изменения ServerMode с Super на SuperClassic.
Зачем? У SuperClassic нет никаких преимуществ перед Super. Если бы на Classic, то это ещё понятно.

Если изменили только этот параметр, а остальные оставили от супера, то не удивительно.
Re: Firebird 4.0.2 "уходит в себя" при завершении работы клиентского приложения [сообщение #1576 является ответом на сообщение #1573] Wed, 08 February 2023 20:13 Переход к предыдущему сообщениюПереход к следующему сообщению
Sigma-Soft в настоящее время не в онлайне  Sigma-Soft
Сообщений: 7
Зарегистрирован: February 2023
Junior Member
sim_84 писал(а) Tue, 07 February 2023 20:34
Цитата:
Началось после изменения ServerMode с Super на SuperClassic.
Зачем? У SuperClassic нет никаких преимуществ перед Super. Если бы на Classic, то это ещё понятно.

Если изменили только этот параметр, а остальные оставили от супера, то не удивительно.
Есть преимущества. При попытке вернуться к Super через несколько часов у клиентов начинаются жуткие тормоза. Переключение на SuperClassic приводит в норму всё, кроме "залипания" firebird.

Вообще вопрос не в сравнении режимов работы, а в поведении Firebird.

Вопрос адресован разработчикам.

Наверное, такое поведение Firebird нормой не является.
Использовавшаяся много лет до этого версия 2.5 в режиме SuperClassic нормально сносила такое же поведение службы, являющейся клиентом по отношению к Firebird.
Завершение работы без закрытия подключений к базе - недоработка, но такое бывает, и так реагировать СУБД не должна.

Поэтому мы готовы предоставить всю необходимую дополнительную информацию и провести тестирование, которое поможет решить проблему.
Re: Firebird 4.0.2 "уходит в себя" при завершении работы клиентского приложения [сообщение #1577 является ответом на сообщение #1576] Thu, 09 February 2023 01:33 Переход к предыдущему сообщениюПереход к следующему сообщению
SD в настоящее время не в онлайне  SD
Сообщений: 411
Зарегистрирован: August 2022
Senior Member
Если максимум, что вы можете, это диагностика класса "жуткие тормоза"...

Скорее всего у вас утечка ресурсов, что вызывает своп с супере и долгое освобождение в суперклассике. Мониторинг всех уровней в руки и смотреть где собака порылась.
Re: Firebird 4.0.2 "уходит в себя" при завершении работы клиентского приложения [сообщение #1578 является ответом на сообщение #1577] Thu, 09 February 2023 13:45 Переход к предыдущему сообщениюПереход к следующему сообщению
Старый Плюшев в настоящее время не в онлайне  Старый Плюшев
Сообщений: 95
Зарегистрирован: August 2022
Географическое положение: Ленинград
Member
SD писал(а) Thu, 09 February 2023 01:33
Если максимум, что вы можете, это диагностика класса "жуткие тормоза"...

Скорее всего у вас утечка ресурсов, что вызывает своп с супере и долгое освобождение в суперклассике. Мониторинг всех уровней в руки и смотреть где собака порылась.
В нашей деревне тоже был аналогичный случай (с). Возможен ещё вариант того, что после перехода с 2.5 один из запросов срывает крышу оптимизатору. Супер тормозит целиком, классик - только тот процесс, в котором этот запрос выполняется, соответственно и массовых воплей нет. Он и не может завершиться даже после остановки клиента. За суперклассик точно не скажу.
Re: Firebird 4.0.2 "уходит в себя" при завершении работы клиентского приложения [сообщение #1579 является ответом на сообщение #1578] Thu, 09 February 2023 20:19 Переход к предыдущему сообщениюПереход к следующему сообщению
sim_84 в настоящее время не в онлайне  sim_84
Сообщений: 330
Зарегистрирован: June 2022
Senior Member
Старый Плюшев писал(а) Thu, 09 February 2023 13:45
SD писал(а) Thu, 09 February 2023 01:33
Если максимум, что вы можете, это диагностика класса "жуткие тормоза"...

Скорее всего у вас утечка ресурсов, что вызывает своп с супере и долгое освобождение в суперклассике. Мониторинг всех уровней в руки и смотреть где собака порылась.
В нашей деревне тоже был аналогичный случай (с). Возможен ещё вариант того, что после перехода с 2.5 один из запросов срывает крышу оптимизатору. Супер тормозит целиком, классик - только тот процесс, в котором этот запрос выполняется, соответственно и массовых воплей нет. Он и не может завершиться даже после остановки клиента. За суперклассик точно не скажу.
Это всё байки из эпохи до 3.0.
Re: Firebird 4.0.2 "уходит в себя" при завершении работы клиентского приложения [сообщение #1582 является ответом на сообщение #1579] Fri, 10 February 2023 09:35 Переход к предыдущему сообщениюПереход к следующему сообщению
Sigma-Soft в настоящее время не в онлайне  Sigma-Soft
Сообщений: 7
Зарегистрирован: February 2023
Junior Member
Этот форум указан как место поддержки русскоязычных пользователей на сайте https://firebirdsql.org/en/mailing-lists/

Я сообщил о нештатной ситуации: при определённых сочетаниях настроек, работы клиентского приложения и т. д. поведение Firebird не является нормальным.

Если РАЗРАБОТЧИКИ сюда заглядывают, я могу предоставить информацию, которая поможет разобраться, найти и исправить ошибку.
Я хочу в этом помочь.

Обойти ошибку мы можем сами, всем спасибо.
Re: Firebird 4.0.2 "уходит в себя" при завершении работы клиентского приложения [сообщение #1583 является ответом на сообщение #1572] Fri, 10 February 2023 11:44 Переход к предыдущему сообщениюПереход к следующему сообщению
hvlad в настоящее время не в онлайне  hvlad
Сообщений: 358
Зарегистрирован: August 2022
Senior Member
Sigma-Soft
При остановке службы (наша разработка), примерно один раз из 3...4 случаев, служба firebird забирает все доступные ресурсы процессора.
Процесс, подключавшийся к базе, завершён.
Дисковой активности нет.
К базе подключиться не получается ни перезапущенным процессом, ни IBExpert.
Если не трогать, firebird отпускает базу (и процессоры) примерно через 30 минут.
Возможно (но не факт), что это проявление 7271
Точнее определить позволит полный дамп памяти или хотя бы трассы стеков всех потоков.

Sigma-Soft
Поскольку мешает клиентам, приходится снимать задачу через Диспетчер задач.
Не надо так делать. Тем более, если оно само за 30 мин проходит.
В крайнем случае - снизьте приоритет и\или заберите несколько ядер с помощью affinity.

Re: Firebird 4.0.2 "уходит в себя" при завершении работы клиентского приложения [сообщение #1592 является ответом на сообщение #1583] Fri, 10 February 2023 20:12 Переход к предыдущему сообщению
Sigma-Soft в настоящее время не в онлайне  Sigma-Soft
Сообщений: 7
Зарегистрирован: February 2023
Junior Member
hvlad писал(а) Fri, 10 February 2023 11:44
Sigma-Soft
При остановке службы (наша разработка), примерно один раз из 3...4 случаев, служба firebird забирает все доступные ресурсы процессора.
Процесс, подключавшийся к базе, завершён.
Дисковой активности нет.
К базе подключиться не получается ни перезапущенным процессом, ни IBExpert.
Если не трогать, firebird отпускает базу (и процессоры) примерно через 30 минут.
Возможно (но не факт), что это проявление 7271
Точнее определить позволит полный дамп памяти или хотя бы трассы стеков всех потоков.

Sigma-Soft
Поскольку мешает клиентам, приходится снимать задачу через Диспетчер задач.
Не надо так делать. Тем более, если оно само за 30 мин проходит.
В крайнем случае - снизьте приоритет и\или заберите несколько ядер с помощью affinity.

hvlad, cпасибо!

Дамп сниму при следующем проявлении.

Нашёл похожую, причём свежую, тему FB 4.0.2 hangs in shutdown sequencie

Что так не надо делать - объясняю разработчикам службы, оставляющей незавершённые подключения при остановке. Пока ищут. Для клиентов 30 минут простоя критичны.
hvlad, возможен ли временный выход заменой 4.0.2 на 4.0.1? По идее, не должно быть обратной несовместимости в пределах 4.0.*

[Обновления: Fri, 10 February 2023 20:34]

Известить модератора

Предыдущая тема: Репликация в 4.0 - перенос журнала в архив
Следующая тема: Выполнение запроса очень тормозится на объединении
Переход к форуму:
  


Текущее время: Sun Nov 24 13:13:06 GMT+3 2024

Общее время, затраченное на создание страницы: 0.00996 секунд