powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Подвисание Firebird
19 сообщений из 19, страница 1 из 1
Подвисание Firebird
    #38985756
Viktor_bs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Вопрос в первую очередь к разработчикам...

Имеется Firebird x86 Classic V2.5.3.26778
База ~800Г
Пользователей ~200
Win2012 x64 ***

Время от времени (один раз в 2-3 месяца, иногда и реже) происходит "залипание" всех FB-процессов при 100% загрузке одного из них. Помогает только terminate процесса.
При этом дисковые операции по всем процессам отсутствуют.
Версия Ос/железо не имеет значения, т.к. за время существования проблемы менялась и ОС и железо, а проблема осталась (была Win2008x32, сейчас Win2012x64, железо сменилось с HP на Intel).
Касается всех версий FB2.5 до 2.5.3.26778 включительно. Проблема не воспроизводится на тестах и не зависит от выполняемой задачи.
Сегодня удалось поймать и снять стек "зависшего" потока, а также дамп этого процесса (SysInternals).
Фрагмент зависшего потока, есть стеки и остальных потоков проблемного процесса.
=======================================
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
fb_inet_server.exe!down_grade+0x12a
fb_inet_server.exe!latch_bdb+0x57
fb_inet_server.exe!down_grade+0xd7
fb_inet_server.exe!down_grade+0x156
fb_inet_server.exe!blocking_ast_bdb+0x69
fb_inet_server.exe!Jrd::LockManager::blocking_action+0x170
fb_inet_server.exe!Jrd::LockManager::blocking_action_thread+0x11f
fb_inet_server.exe!Jrd::LockManager::blocking_action_thread+0x9
fb_inet_server.exe!`anonymous namespace'::threadStart+0x55
=======================================

Если нужно, дамп могу куда-то выложить. Или подскажите куда еще смотреть.
Спасибо!
...
Рейтинг: 0 / 0
Подвисание Firebird
    #38985768
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Подвисание Firebird
    #38985854
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

то есть, надо 2.5.4, а точнее - снапшот 2.5.5.
...
Рейтинг: 0 / 0
Подвисание Firebird
    #38986549
Фотография Секретное имя пользователя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня какие-то похожие подвисания происходят на версии "WI-V2.5.4.26856 Firebird 2.5".

Эти подвисания начались давно, еще на 2.5.(не помню, вроде 2). Недавно, уже на 2.5.4.26856, попробовал вместо TCP/IP подключаться по локальному протоколу. Результат: зависания стали короче. Если раньше (на TCP) зависание длилось от 2 до 4 минут, то теперь (на локальном протоколе) не более минуты.

Во время обычной работы кол-во пользователей, одновременно подключенных к базе, не более 15. База >200Гб.
В момент подвисания кол-во пользователей доходит до ~60.
У нас CGI приложение, без пула коннектов. Т.е. работа происходит в режиме "коннект-запрос-дисконнект".
Подключения по TCP/IP сейчас есть, но в существенно меньших количествах, - это репликация работает, с другого сервака коннекты.

Пробовал "фотографировать" вывод fb_lock_print.exe -d %BASE% (зашедулил ежеминутно проверку на кол-во процессов fb_inet_server.exe, если более 20, то запускается fb_lock_print)

Во время работы по TCP\IP вывод был примерно такой:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
LOCK_HEADER BLOCK
	Version: 17, Active owner:      0, Length: 5242880, Used: 4612044
	Flags: 0x0001
	Enqs: 1901956, Converts:  33936, Rejects:   6926, Blocks:  21558
	Deadlock scans:    486, Deadlocks:      0, Scan interval:  10
	Acquires: 3781813, Acquire blocks:  69675, Spin count:   0
	Mutex wait: 1.8%
	Hash slots: 1009, Hash lengths (min/avg/max):    1/  10/  22
	Remove node:      0, Insert queue:      0, Insert prior:      0
	Owners (60):	forward:  25304, backward: 4583660
	Free owners: *empty*
	Free locks (5407):	forward: 1536620, backward: 2025256
	Free requests: *empty*
	Lock Ordering: Enabled


Во время работы по локальному протоколу вывод стал примерно такой:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
LOCK_HEADER BLOCK
	Version: 17, Active owner:      0, Length: 4194304, Used: 3940920
	Flags: 0x0001
	Enqs: 114771, Converts:   1293, Rejects:    178, Blocks:    607
	Deadlock scans:      0, Deadlocks:      0, Scan interval:  10
	Acquires: 191373, Acquire blocks:  14935, Spin count:   0
	Mutex wait: 7.8%
	Hash slots: 1009, Hash lengths (min/avg/max):    1/   8/  17
	Remove node:      0, Insert queue:      0, Insert prior:      0
	Owners (24):	forward:  18744, backward:  19392
	Free owners (18):	forward:  20056, backward:  21476
	Free locks (1034):	forward:  42656, backward: 3593036
	Free requests (20305):	forward: 2412108, backward: 620620
	Lock Ordering: Enabled


Когда подвисания нет, вывод такой:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
LOCK_HEADER BLOCK
	Version: 17, Active owner:      0, Length: 4194304, Used: 3606364
	Flags: 0x0001
	Enqs: 12659748, Converts: 217220, Rejects:  75067, Blocks: 380892
	Deadlock scans:      0, Deadlocks:      0, Scan interval:  10
	Acquires: 26539703, Acquire blocks: 830518, Spin count:   0
	Mutex wait: 3.1%
	Hash slots: 1009, Hash lengths (min/avg/max):    1/   8/  18
	Remove node:      0, Insert queue:      0, Insert prior:      0
	Owners (8):	forward: 1433764, backward: 2152684
	Free owners (10):	forward: 1680444, backward: 2135236
	Free locks (9652):	forward: 2547564, backward: 937160
	Free requests (28659):	forward: 3356504, backward: 1842780
	Lock Ordering: Enabled


Эти цифры содержат какую-нибудь информацию, полезную для понимания причин зависаний ?

Вопрос в том, вылечатся ли зависания сменой версии на новый снапшот ?
Так-то в работу снапшот ставить как-то страшновато ...
...
Рейтинг: 0 / 0
Подвисание Firebird
    #38987466
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Секретное имя пользователяУ меня какие-то похожие подвисания происходятЧто в них "похожего", кроме самого факта ?

Секретное имя пользователяЭти цифры содержат какую-нибудь информацию, полезную для понимания причин зависаний ?Нет
...
Рейтинг: 0 / 0
Подвисание Firebird
    #38987492
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Секретное имя пользователя,

если есть возможность попробуй суперклассик. Мне кажется он должен быть быстрее в режиме соединился/разъединился
...
Рейтинг: 0 / 0
Подвисание Firebird
    #38988002
Фотография Секретное имя пользователя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисСекретное имя пользователя,

если есть возможность попробуй суперклассик. Мне кажется он должен быть быстрее в режиме соединился/разъединилсяПроверял на другом проекте - там действительно быстрее, оно и понятно, не требуется запускать новые процессы.
Но в данном проекте пока нет возможности, ибо УДФ переписывать придется на 64 бита, пока не до этого.
А суперклассик на 32 битах - низко летает.
...
Рейтинг: 0 / 0
Подвисание Firebird
    #39049149
Viktor_bs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Заменил сервер на V2.5.5.26916, проблема с зависанием процесса и блокировкой остальных процессов сохраняется.
Помогает, как всегда, только terminate процесса. Имеется дамп зависшего процесса.
Стек зависшего потока
================================
ntoskrnl.exe!KiSwapContext+0x76
ntoskrnl.exe!KiDeferredReadyThread+0x2f0
ntoskrnl.exe!KeSetEvent+0x2aa
ntoskrnl.exe!KiDispatchInterruptContinue+0x16
ntoskrnl.exe!KiDpcInterruptBypass+0x25
ntoskrnl.exe!KiIpiInterrupt+0x10c
fb_inet_server.exe!Firebird::SortedVector<Firebird::SparseBitmap<unsigned __int64,Firebird::BitmapTypes_64>::Bucket,25,unsigned __int64,Firebird::SparseBitmap<unsigned __int64,Firebird::BitmapTypes_64>::Bucket,Firebird::DefaultComparator<unsigned __int64>
fb_inet_server.exe!BTreeNode::readNode+0xd
fb_inet_server.exe!scan+0x432
fb_inet_server.exe!BTR_evaluate+0x3ae
fb_inet_server.exe!EVL_bitmap+0x1de
fb_inet_server.exe!EVL_bitmap+0x5a
fb_inet_server.exe!RSE_open+0x297
fb_inet_server.exe!fetch_record+0x66
fb_inet_server.exe!fetch_record+0x58
fb_inet_server.exe!get_record+0x5fd
fb_inet_server.exe!get_union+0x2e
fb_inet_server.exe!get_record+0x611
fb_inet_server.exe!open_sort+0xe1
fb_inet_server.exe!RSE_open+0x34a
fb_inet_server.exe!EXE_looper+0x3ae
fb_inet_server.exe!looper_seh+0x45
fb_inet_server.exe!execute_looper+0x89
fb_inet_server.exe!EXE_receive+0xef
fb_inet_server.exe!execute_procedure+0x1e6
fb_inet_server.exe!EXE_looper+0x35a
fb_inet_server.exe!looper_seh+0x45
fb_inet_server.exe!execute_looper+0x89
fb_inet_server.exe!EXE_receive+0xef
fb_inet_server.exe!get_procedure+0x15e
fb_inet_server.exe!get_record+0x55c
fb_inet_server.exe!RSE_get_record+0x5f
fb_inet_server.exe!EXE_looper+0x383
fb_inet_server.exe!looper_seh+0x45
fb_inet_server.exe!execute_looper+0x89
fb_inet_server.exe!EXE_receive+0xef
fb_inet_server.exe!JRD_receive+0x2f
fb_inet_server.exe!DSQL_fetch+0x28b
fb_inet_server.exe!jrd8_fetch+0xd7
fb_inet_server.exe!isc_dsql_fetch_m+0xa5
fb_inet_server.exe!rem_port::fetch+0x172
fb_inet_server.exe!process_packet+0x3ec
fb_inet_server.exe!loopThread+0x187
fb_inet_server.exe!`anonymous namespace'::threadStart+0x52
MSVCR80.dll!_callthreadstartex+0x1b
MSVCR80.dll!_threadstartex+0x66
KERNEL32.DLL!@BaseThreadInitThunk@12+0x24
ntdll.dll!__RtlUserThreadStart+0x2f
ntdll.dll!__RtlUserThreadStart@8+0x1b
================================
...
Рейтинг: 0 / 0
Подвисание Firebird
    #39049161
Viktor_bs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fb_lock_print, если нужен

LOCK_HEADER BLOCK
Version: 17, Active owner: 0, Length: 18874368, Used: 17861124
Flags: 0x0001
Enqs: 2688378808, Converts: 5457207, Rejects: 2162864, Blocks: 8565591
Deadlock scans: 3283, Deadlocks: 0, Scan interval: 10
Acquires: 3348304407, Acquire blocks: 309911090, Spin count: 0
Mutex wait: 9.3%
Hash slots: 1009, Hash lengths (min/avg/max): 41/ 62/ 86
Remove node: 0, Insert queue: 0, Insert prior: 0
Owners (151): forward: 15783352, backward: 12977912
Free owners (7): forward: 9543776, backward: 10638848
Free locks (17343): forward: 2353412, backward: 13488340
Free requests (17349): forward: 14081072, backward: 4495180
Lock Ordering: Enabled
...
Рейтинг: 0 / 0
Подвисание Firebird
    #39049176
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Viktor_bs,

Этот поток вовсю трудится
...
Рейтинг: 0 / 0
Подвисание Firebird
    #39049198
Viktor_bs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, на 99%

Есть еще один поток который на 1%
Вот еще есть один стек, спустя некоторое время

========= thread 99% =========
ntoskrnl.exe!KiSwapContext+0x76
ntoskrnl.exe!KiSwapThread+0x196
ntoskrnl.exe!KiCommitThreadWait+0x129
fb_inet_server.exe!EVL_boolean+0x62
MSVCR80.dll!LeadUpVec+0x70
fb_inet_server.exe!insert_node+0xa43
fb_inet_server.exe!lockSharedSection+0x11
fb_inet_server.exe!CVT_get_double+0x688
fb_inet_server.exe!MOV_get_double+0xf
fb_inet_server.exe!CVT_get_double+0x688
fb_inet_server.exe!CCH_release+0x1ff
fb_inet_server.exe!BTR_insert+0x5b2
fb_inet_server.exe!insert_key+0x154

========= thread 1% =========
ntoskrnl.exe!KiSwapContext+0x76
ntoskrnl.exe!KiSwapThread+0x14e
ntoskrnl.exe!KiCommitThreadWait+0x129
ntoskrnl.exe!KeWaitForSingleObject+0x2c0
ntoskrnl.exe!NtWaitForSingleObject+0xb2
ntoskrnl.exe!KiSystemServiceCopyEnd+0x13
wow64cpu.dll!CpupSyscallStub+0x2
wow64cpu.dll!Thunk0ArgReloadState+0x5
wow64.dll!RunCpuSimulation+0xa
wow64.dll!Wow64LdrpInitialize+0x172
ntdll.dll!_LdrpInitialize+0xcb
ntdll.dll!LdrInitializeThunk+0xe
ntdll.dll!_NtWaitForSingleObject@12+0xc
fb_inet_server.exe!Jrd::LockManager::LocalCheckout::~LocalCheckout+0x40
KERNELBASE.dll!_WaitForSingleObject@8+0x12
fb_inet_server.exe!ISC_event_wait+0x5a
fb_inet_server.exe!Jrd::LockManager::blocking_action_thread+0x18a
fb_inet_server.exe!Jrd::LockManager::blocking_action_thread+0x9
fb_inet_server.exe!`anonymous namespace'::threadStart+0x52
MSVCR80.dll!_callthreadstartex+0x1b
MSVCR80.dll!_threadstartex+0x66
KERNEL32.DLL!@BaseThreadInitThunk@12+0x24
ntdll.dll!__RtlUserThreadStart+0x2f
ntdll.dll!__RtlUserThreadStart@8+0x1b
...
Рейтинг: 0 / 0
Подвисание Firebird
    #39049270
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Viktor_bs,

здесь нет проблем.

Изучайте свои запрос и их планы.
...
Рейтинг: 0 / 0
Подвисание Firebird
    #39049289
Viktor_bs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladViktor_bs,

здесь нет проблем.

Изучайте свои запрос и их планы.
И что не оптимальные планы или не корректные запросы могут залочить 150 других процессов на 30 минут в классике?
Ни один процесс не выполняет никакой активности, дисковые операции на 0.
...
Рейтинг: 0 / 0
Подвисание Firebird
    #39049313
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Viktor_bsИ что не оптимальные планы или не корректные запросы могут залочить 150
других процессов на 30 минут в классике?
Ты от целой лок-таблицы привёл только заголовок. Причина может быть в том остатке, которые
тебе стоило внимательно изучить.

Viktor_bsHash slots: 1009, Hash lengths (min/avg/max): 41/ 62/ 86
Хэш-слотов явно не хватает. Причём очень сильно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Подвисание Firebird
    #39049371
Viktor_bs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovViktor_bsHash slots: 1009, Hash lengths (min/avg/max): 41/ 62/ 86
Хэш-слотов явно не хватает. Причём очень сильно.


Я так понял что нужно увеличением количества слотов выйти в показатели < 10?
...
Рейтинг: 0 / 0
Подвисание Firebird
    #39049374
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Viktor_bs,

поставь 30 тыщ, а там посмотришь.
...
Рейтинг: 0 / 0
Подвисание Firebird
    #39049432
shaposh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это должно быть простое число. 30011, например :)
...
Рейтинг: 0 / 0
Подвисание Firebird
    #39049582
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Viktor_bsИ что не оптимальные планы или не корректные запросы могут залочить 150 других процессов на 30 минут в классике?
Ни один процесс не выполняет никакой активности, дисковые операции на 0.Я не гадалка, отсюда мне не видно что там происходит.
Всё, что можно извлечь из приведенных обрывков стеков - я сказал.
...
Рейтинг: 0 / 0
Подвисание Firebird
    #39049709
Фотография Alexey Kovyazin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во-первых, попробуйте оптимизированный конфиг использовать
http://ib-aid.com/ru/optimized-firebird-configuration/

Во-вторых, нужна подробная статистика изменения маркеров транзакций и статистика БД.


С уважением,
Алексей
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Подвисание Firebird
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]