|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Здравствуйте. Помогите, пож-та, найти причину проблемы. Firebird-3.0.0.32483_2_x64 (Classic mode) XeonE5 х 2шт, SSD Raid10, памяти 64Gb (Win Server 2008 R2 Enterprise) Есть база 30 Гб - в ней есть 2 большие таблицы: - примерно на 11 гб и на 8 гб - с индексами по текстовым полям (плюс FK на мелкие таблицы) Несколько раз в сутки запускается обработка данных в несколько этапов: 1) чтение и запись в большую таблицу 1 2) чтение из большой таблицы 2 3) чтение из таблицы 1 - Все операции происходит одновременно с 40-50 воркеров (отдельных легких клиентов - Delphi + IBX). - Каждый воркер работает со своими строками (т.е. воркеры не работают с одними и теми же записями таблиц). - У каждого воркера есть читающая транзакция и пишущая. - В пишущей апдейтятся от 100 до 150 000 строк в одной транзакции. - Каждый воркер отработав со своими данными завершает работу и запускается новый воркер для работы со следующим набором данных. - В базе один юзер SYSDBA. Проблема: На одном из этапов (на любом - по разному) новые коннекты не могут соединиться с базой. При этом, клиентские приложения (воркеры, IBExpert, ...) не показывают ошибки, при попытке соединения с базой, они просто висят - не коннектятся, не отваливаются. Старые коннекты работают, пока не запускается новая транзакция. Через isql коннектиться получается. У одного из воркеров (только у одного) при этом выскакивает ошибка: firebird Attachment::start Transaction failed when loading mapping cache Иногда ошибка: Your user name and password are not defined. Ask your database administrator to set up a Firebird login. В логах при этом возникают ошибки - обычно 2 подряд: Database: C:\PROGRAM FILES\FIREBIRD\FIREBIRD_3_0\SECURITY3.FDB page 0, page type 1 lock denied (216) Database: page 0, page type 1 lock denied (216) Еще: Ограничение винды на кол-во коннектов (1024) - убрано, хотя более 370 и не доводилось увидеть. Память занята не более чем на 30%. Дисковая подсистема грузится до 90% на запись в пиках. B/R не помогает, ошибок в базе нет. PS: Ранее эта проблема возникала при переходе с 2.0 на 2.5, но тогда решилась уменьшением кол-во воркеров со 100 до 60. firebird.conf TempDirectories = d:\temp DefaultDbCachePages = 16000 TempBlockSize = 2M TempCacheLimit = 3Gb DeadlockTimeout = 3 WireCrypt = Disabled LockMemSize = 160M LockHashSlots = 99971 EventMemSize = 512K ServerMode = Classic fb_lock_print C:\Program Files\Firebird\Firebird_3_0>fb_lock_print.exe -d e:\db\database.fdb -r LOCK_HEADER BLOCK Version: 146, Creation timestamp: 2016-07-12 21:00:36 Active owner: 0, Length: 167772160, Used: 7200488 Enqs: 801335, Converts: 733469, Rejects: 7261, Blocks: 8319 Deadlock scans: 0, Deadlocks: 0, Scan interval: 3 Acquires: 1600408, Acquire blocks: 5363, Spin count: 0 Mutex wait: 0.3% Hash slots: 65521, Hash lengths (min/avg/max): 0/ 0/ 6 Remove node: 0, Insert queue: 0, Insert prior: 0 Owners (1): forward: 536968, backward: 536968 Free owners (2): forward: 563840, backward: 2880536 Free locks (31898): forward: 4233744, backward: 6986680 Free requests (32405): forward: 3996720, backward: 3339800 netstat C:\Program Files\Firebird\Firebird_3_0>netstat -a -n | find /c "TCP" 287 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2016, 22:31 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mlnПомогите, пож-та, найти причину проблемы. Судя по всему, недобитый CORE-4899. Пиши трекеру. Переходи на суперсервер. Ну и до текущего снапшота тоже неплохо бы обновиться как минимум. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2016, 22:42 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
SS пробовал - не помогло. Правда не зафиксировал что было в логах. (SS не подходит, в нашем случае выгоднее чтобы каждый коннект имел свой кеш) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2016, 22:58 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mlnв нашем случае выгоднее чтобы каждый коннект имел свой кеш это чешуя какая-то. любой СУБД выгоднее общий кэш. До сих пор супер был малоосмыслен именно по причине неподдержки SMP. А с поддержкой SMP в супере надобность в классике отпадает. db20mlnSS пробовал - не помогло. если ошибка не зависит от архитектуры, значит жди, пока пофиксят. А вообще планируй переход на SS. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2016, 23:57 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mln- В пишущей апдейтятся от 100 до 150 000 строк в одной транзакции. кстати, вот тут классик 3.0 будет медленнее супера 3.0, однозначно. И - у этих транзакций выставлено no_auto_undo? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2016, 23:58 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mln, fb_lock_print нужно делать для той БД, в которой ошибка - в данном случае security3.fdb Если не знаешь как его запускать, делай c опцией -a. Если эта проблема стабильно воспроизводится на SS\SC, то имеет смысл снять полный дамп памяти. Но лучше всего, конечно, сделать воспроизводимый пример. PS не вижу связи ни с "эта проблема возникала при переходе с 2.0 на 2.5", ни с CORE-4899 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2016, 00:13 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
kdvИ - у этих транзакций выставлено no_auto_undo?Надеюсь, ты не советуешь этот флаг использовать ? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2016, 00:14 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mlnSS пробовал - не помогло. Правда не зафиксировал что было в логах.Очень плохо, что не зафиксировал ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2016, 00:15 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Поставил Firebird-3.0.1.32562-0_x64 - буду тестить. no_auto_undo не использую. fb_lock_print для security3.fdb сделаю при ближайшем зависании. SS попробую на днях еще раз, правда кеш надо будет очень большой поставить. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2016, 01:07 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mlnSS попробую на днях еще раз, правда кеш надо будет очень большой поставить. начинай с 50K. Можно больше, но аккуратно, так как при превышении FileSystemCacheThreshold файловый кеш будет отрублен, что может сказаться как в лучшую. так и худшую сторону. Если есть запросы с сортировками, то подымай TempCacheLimit. Хотя все эти советы от этой ошибки скорее всего не спасут. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2016, 10:41 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
hvladНадеюсь, ты не советуешь этот флаг использовать ? советую. потому что он пишет, что "В пишущей апдейтятся от 100 до 150 000 строк в одной транзакции.". Таким образом, все равно undo log при роллбэке "работать" не будет (от 80 тыс до 150 тыс). А в результате апдейты будут работать быстрее. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2016, 13:58 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
kdvА в результате апдейты будут работать быстрее.С чего бы это ? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2016, 14:08 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
hvlad, а что, разве нет такого совета "при массовых вставках укажите no_auto_undo"? или вставка от апдейта тут сильно отличается? Я может забыл чего... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2016, 14:56 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
kdv> или вставка от апдейта тут сильно отличается? Отличается, конечно. Это даже в статье у тебя было описано, если я правильно помню. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2016, 15:05 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
kdvа что, разве нет такого совета "при массовых вставках укажите no_auto_undo"? Первый раз слышу. Али с Таблоидом много общался ? ;) Вообще говоря, многое зависит от того, как вставлять - одним оператором или кучкой мелких. Во втором случае можно сэкономить немного памяти и чуть-чуть скорости. Совсем чуть-чуть. kdvили вставка от апдейта тут сильно отличается?Если не апдейтить одну запись более одного раза - ничем не отличается. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2016, 15:38 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
По поводу пишущей транзакции. Я собираюсь выделить те несколько полей которые апдейтятся - в отдельную таблицу, чтобы при апдейте плодились версии более мелких записей. Или как вариант - переделать с update на insert (но придется периодически делать массовые delete) - даже не знаю лучше это или хуже. Но все это никак не решит проблему, т.к. база виснет и на том этапе, где данных только читаются. PS: Сейчас в качестве эксперимента пытаюсь избавиться от post_evet, больше уже грешить не на что. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2016, 16:28 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mlnЯ собираюсь выделить те несколько полей которые апдейтятся - в отдельную таблицу, чтобы при апдейте плодились версии более мелких записей. Бесполезно: в дельту и так включаются только изменённые поля. db20mlnИли как вариант - переделать с update на insert (но придется периодически делать массовые delete) - даже не знаю лучше это или хуже. Бесполезно: твоя проблема никак не связана с основной БД вообще. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2016, 16:30 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mlnЯ собираюсь выделить те несколько полей которые апдейтятся - в отдельную таблицу, чтобы при апдейте плодились версии более мелких записей.Нет смысла. FB сохраняет сжатую дельту. Можно выиграть пару байт на дельту, но потерять на заголовках записей и джойнах. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2016, 16:32 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Избавление от post_event ничего не дало. На последней сборке - клиент показывает более детальное сообщение (раньше была только вторая строчка): page 0, page type 1 lock denied IAttachment::startTransaction failed when loading mapping cache. И вот fb_lock_print для SECURITY3.FDB C:\Program Files\Firebird\Firebird_3_0>fb_lock_print.exe -d "C:\PROGRAM FILES\FIREBIRD\FIREBIRD_3_0\SECURITY3.FDB" -n LOCK_HEADER BLOCK Version: 146, Creation timestamp: 2016-07-15 21:22:24 Active owner: 0, Length: 167772160, Used: 553488 Enqs: 175, Converts: 6, Rejects: 33, Blocks: 2 Deadlock scans: 74535, Deadlocks: 2, Scan interval: 3 Acquires: 74865, Acquire blocks: 3720, Spin count: 0 Mutex wait: 5.0% Hash slots: 65521, Hash lengths (min/avg/max): 0/ 0/ 4 Remove node: 0, Insert queue: 0, Insert prior: 0 Owners (29): forward: 536968, backward: 553160 Free owners: *empty* Free locks (5): forward: 541256, backward: 537664 Free requests: *empty* ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2016, 00:35 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Последняя сборка зависает чаще. Только что зависла при 20 активных коннектах. Это бред. Откатываюсь на 2.5. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2016, 18:48 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mln, ты можешь на SS это воспроизвести и снять полный дамп памяти ? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2016, 19:42 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Да, попробую. Все равно оказалось что просто так на предыдущую через b/r не перейдешь, ибо: Expected backup version 1..9. Found 10. :( ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2016, 21:05 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mlnДа, попробую.Спасибо db20mlnВсе равно оказалось что просто так на предыдущую через b/r не перейдешь, ибо: Expected backup version 1..9. Found 10. :(Нужно бекапить gbak'ом от 2.5 и без сервисов ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2016, 21:53 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2016, 22:11 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Перешел на супер. Пришлось поставить DefaultDbCachePages = 640000, т.к. с 50000 тормоза. Сперва база упала из-за udf - может и не из-за нее, но в логах дважды появилась ошибка: DBS Mon Jul 18 12:17:02 2016 The user defined function: MY_STRING_HASH referencing entrypoint: MyStringHash in module: MyUDF.dll caused the fatal exception: Access violation. The code attempted to access a virtual address without privilege to do so. This exception will cause the Firebird server to terminate abnormally. DBS Mon Jul 18 12:17:02 2016 Operating system call TlsGetValue failed. Error code 87 Заменил ее на udr и запустил заново. После запуска воркеров, начали периодически отваливаться клиентские приложения с одной и той же парой ошибок: DBS Mon Jul 18 14:04:15 2016 INET/inet_error: read errno = 10054, client host = trm, address = 192.168.99.10/59403, user = red31 DBS Mon Jul 18 14:04:15 2016 INET/inet_error: read errno = 10054, aux client host = trm, address = 192.168.99.10/59440 После чего вообще все упало, на клиентах и воркерах выдало: Error writing data to the connection. (Дамп снял - отправлю) Общие наблюдения: Выборка и апдейт выполняются дольше, т.е. в сумме все делается в 1.5 - 3 раза дольше. По монитору ресурсов: загрузка диска на 90-99%, при этом ввод/вывод = 7-20 Мб/с. При классике было: загрузка диска на 85-95%, ввод/вывод = 20-70 Мб/с. В время работы воркеров, даже в IB Expert не зайдешь - тупит сильно, по несколько минут не реагирует. В клиентское программе - тоже фризы нереальные, поэтому остальные юзеры курят пока не закончатся обработки. При том что в классике - было нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2016, 14:19 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Вот дамп, но я не уверен что это тот, который нужен - т.к. после падения база тут же перезапускается. https://yadi.sk/d/rUeYqOHCtPomc ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2016, 14:30 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Снова упал с ошибкой в логе: DBS Mon Jul 18 14:31:45 2016 Access violation. The code attempted to access a virtual address without privilege to do so. This exception will cause the Firebird server to terminate abnormally. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2016, 14:33 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mlnПришлось поставить DefaultDbCachePages = 640000а) накой назначать огромный кеш ВСЕМ БД ? б) FileSystemCacheThreshold отредактировал ? db20mlnСперва база упала из-за udf - может и не из-за нее, но в логах дважды появилась ошибкаОднозначно из-за неё db20mlnЗаменил ее на udrНа что ??? db20mlnПосле чего вообще все упалоА до этого падало как-то иначе, не вообще ? firebird.log во время падения что-то содержит, кроме INET ошибок ? db20mln Общие наблюдения: Выборка и апдейт выполняются дольше, т.е. в сумме все делается в 1.5 - 3 раза дольше.Потому что ты отключил файловый кеш db20mlnПо монитору ресурсов: загрузка диска на 90-99%, при этом ввод/вывод = 7-20 Мб/с. При классике было: загрузка диска на 85-95%, ввод/вывод = 20-70 Мб/с.Потому что ты отключил файловый кеш db20mlnВ время работы воркеров, даже в IB Expert не зайдешь - тупит сильно, по несколько минут не реагирует.Потому что ты отключил файловый кеш ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2016, 14:36 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mlnВот дамп, но я не уверен что это тот, который нужен - т.к. после падения база тут же перезапускается.Как ты его получил ? Для получения дампа в момент падения чти про WER (windows error reporting) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2016, 14:39 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mln, а ты через новый fbclient работаешь или через тот что от 2.5 остался? Подключаешься через алиас БД? В databases.conf никакие параметры не переопределял? P.S. UDF была однозначно кривой. За UDR не скажу от неё вроде как логах ничего не было, но и не факт что если что не так туда оно попадает. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2016, 14:42 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mln, ваша UDR тоже кривая. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2016, 14:46 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
hvladНа что ??? он имеет ввиду новые внешние функции. Хотя я сильно сомневаюсь что он её правильно написал, ибо сложнее это чем Legacy UDF. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2016, 14:48 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Симонов Денисон имеет ввиду новые внешние функцииЯ значение букв UDR понимаю :) Но очень сильно сомневаюсь, что ТС имел в виду именно их. Ставлю на PSQL ф-цию или встроенный хеш. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2016, 14:52 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
hvladdb20mlnПришлось поставить DefaultDbCachePages = 640000а) накой назначать огромный кеш ВСЕМ БД ? БД всего одна. При меньшем кеше скорость работы падает. При работе воркеров они читают большую таблицу - но каждый свою часть данных. Т.е. кеш слишком быстро забивается и освобождается (воркеры запускаются 1500 - 3500 раз, но не более 40-60 одновременно). Я прикинул что если при классике я ставил 16000 (выбрано после ряда экспериментов), то при 40 одновременных воркерах - это как раз 640000. hvladб) FileSystemCacheThreshold отредактировал ? Нет. Подскажите пож-та какое значение установить. Мануалы читал, но 2 недели этих проблем уже высушили мозг. hvladdb20mlnЗаменил ее на udrНа что ??? udr.dll У меня одна самописная внешняя функция - перед переходом с 2.5 на 3.0 реализовал ее в виде UDR. hvladdb20mlnПосле чего вообще все упалоА до этого падало как-то иначе, не вообще ? firebird.log во время падения что-то содержит, кроме INET ошибок ? До этого клиентские приложения продолжали работать - т.е. я так думал, а после отправки поста понял, что скорее всего юзеры перезапустили прогу и благополучно продолжили работать. При последнем падении было только то что выше писал DBS Mon Jul 18 14:31:45 2016 Access violation. The code attempted to access a virtual address without privilege to do so. This exception will cause the Firebird server to terminate abnormally. hvladПотому что ты отключил файловый кеш Я понял что он отключился из-за FileSystemCacheThreshold, подскажите плз какое значение поставить. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2016, 17:05 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Симонов Денисdb20mln, а ты через новый fbclient работаешь или через тот что от 2.5 остался? Подключаешься через алиас БД? В databases.conf никакие параметры не переопределял? P.S. UDF была однозначно кривой. За UDR не скажу от неё вроде как логах ничего не было, но и не факт что если что не так туда оно попадает. Через GDS32.dll. databases.conf не трогал. Я ночью запускал тестовый прогон - все прошло без сбоев, просто очень медленно (видимо отключился файловый кеш). Раньше на классике - тоже иногда все проходило без сбоев, но чем больше данных запускаешь обрабатывать, тем больше шансов сбоя. Ну и супер при сбое просто перезапускается и отрубаются все коннекты. А классик - ну я писал в начале, другое поведение и другие ошибки в логе. Симонов Денисdb20mln, ваша UDR тоже кривая. Даже если и так - как мне об этом узнать, если сообщений об ошибках нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2016, 17:19 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mln, больше чем DefaultDbCachePages. А вообще логика кажется странной. Почему требуется апдейтить хренову тучу строк? Это же порождает мусор и его сборку. Оно реально всё апдейтится или всё же часть апдейтов просто работают в холостую? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2016, 17:22 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
GDS32.dll - конечно же новый, который ставится тройкой. Он и в C:\Windows\SysWOW64\ и в папке с приложением. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2016, 17:26 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
hvladДля получения дампа в момент падения чти про WER (windows error reporting) WER не был включен по умолчанию. Сейчас включу, снова переключусь на СС и буду ждать сбой :( ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2016, 17:28 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Симонов Денисdb20mln, больше чем DefaultDbCachePages. А вообще логика кажется странной. Почему требуется апдейтить хренову тучу строк? Это же порождает мусор и его сборку. Оно реально всё апдейтится или всё же часть апдейтов просто работают в холостую? Это не лучшее решение, но оно было частью архитектуры и работало на 2.5. Сейчас думаю как изменить эту части системы, чтобы радикально уменьшить кол-во апдейтов и инсертов. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2016, 17:35 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mlnhvladа) накой назначать огромный кеш ВСЕМ БД ?БД всего однаНет. Есть ещё security database db20mlnЯ прикинул что если при классике я ставил 16000 (выбрано после ряда экспериментов), то при 40 одновременных воркерах - это как раз 640000.Ну почему никто никогда не вспоминает про файловый кеш ??? db20mlnudr.dll У меня одна самописная внешняя функция - перед переходом с 2.5 на 3.0 реализовал ее в виде UDR.Я правильно поинмаю, что была UDF, которая приводила к падениям, и вместо неё была написана UDR (что на порядок сложнее) ? А смысл где ? db20mlnhvladПотому что ты отключил файловый кеш Я понял что он отключился из-за FileSystemCacheThreshold, подскажите плз какое значение поставить.Уже написали - больше, чем кеш БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2016, 17:48 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mlnПри меньшем кеше скорость работы падает. А статистика работы кэша вообще собиралась или все изменения параметров проводятся исключительно на "партийном чутье"? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2016, 17:50 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
hvladЕсть ещё security database Для которой в databases.conf гвоздиками прибито DefaultDbCachePages = 50. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2016, 17:54 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
hvladЯ правильно понимаю, что была UDF, которая приводила к падениям, и вместо неё была написана UDR (что на порядок сложнее) ? А смысл где ? Нет. Была UDF - 32 битная - в ней всего одна функция, она 4 года работала на FB 2.5, ошибок не выдавала. Когда скомпилировали ее под 64 бита - подключить так и не получилось, выдавала ошибки (под 64 битной FB). После выхода тройки решил сделать UDR чтобы перейти на 64 битную базу, пока делал - разобрался и с 64 битной версией UDF. Т.е. по сути могу сейчас использовать и UDF, и UDR. Ошибки UDF появились первый раз сегодня - при запуске в SS. Поэтому я и переключился на UDR. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2016, 18:05 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovА статистика работы кэша вообще собиралась или все изменения параметров проводятся исключительно на "партийном чутье"? Нет, не собиралась. Все делалось замерами времени выполнения. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2016, 18:08 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mln, давай сюда код своей UDR/UDF вместе с объявлением метаданных. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2016, 18:26 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Симонов Денисдавай сюда код своей UDR/UDF вместе с объявлением метаданных. https://yadi.sk/d/khuy3SX4tQPXh ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2016, 18:45 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mln, 1. Надо память явно выделить, а не возвращать указатель на автоматическую переменную, неужели не ясно. 2. При чем - не просто выделить, а из менеджера памяти FB. Т.е. чз ib_util_malloc и объявить с FREE_IT. (в случае с SS можно иногда вывернуться через ThreadVar и не использовать ib_util_malloc/FREE_IT, но смысла я не вижу в подобных извращениях). ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2016, 18:56 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mln, Пример: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2016, 18:59 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
* для тебя - PChar в PAnsiChar и String в AnsiString заменить надо будет наверно в моем коде. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2016, 19:02 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mln, UDF однозначно кривая. В UDR особых косяков не заметил. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2016, 19:14 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mln, казалось бы, посмотрел примеры, и сделал по образцу http://www.ibase.ru/files/download/safeudf.zip ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2016, 19:20 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Большое спасибо за указанные ошибки, UDF переделаю. Но база с UDR, последний билд, SS - падения никуда не делись. Дамп памяти не сохраняется, винда не видит что приложение крашится (в журналах винды нет сообщений о сбоях) - т.е. дамп во время сбоя снять не могу. По итогу: Ошибка не отлавливается, причина неизвестна, решения нет - вернулся на 2.5. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2016, 13:49 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mln, В UDR не разбираюсь. Но, я думаю, как минимум - не хватает в Udr.dpr Код: pascal 1. 2. 3.
вместо Код: pascal 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2016, 14:07 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mlnОшибка не отлавливается Ну так логируй каждую строчку udr (после того, как IsMultiThread включишь). Найдешь, где валится. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2016, 14:08 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
YuRock, Не факт что UDR валится. В UDR с первого взгляда всё нормально. Единственное, что помнится были какие-то приколы с выравниванием буферов. Автор даже не потрудился помониторить память на предмет утечки. Запустить на тестовом Firebird свою функцию 10 миллионов раз. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2016, 14:20 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Симонов ДенисАвтор даже не потрудился Он даже проблему локализовать не потрудился. Зависания у него "внезапно" обернулись крашами. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2016, 14:27 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Симонов ДенисВ UDR с первого взгляда всё нормально Вроде да, но в текущем состоянии при вызове функций из неё из разных потоков она обязательно должна иногда валиться, т.к. выделение памяти есть, автоматические типы есть, а IsMultiThread=False. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2016, 14:28 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mlnДамп памяти не сохраняется, винда не видит что приложение крашится (в журналах винды нет сообщений о сбоях) - т.е. дамп во время сбоя снять не могу.Гвардейца убери ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2016, 14:39 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovСимонов ДенисАвтор даже не потрудился Он даже проблему локализовать не потрудился. Зависания у него "внезапно" обернулись крашами. Я 2 недели искал причины. Делал наугад, т.к. ошибки в логах не сильно помогли. Комбинации факторов из-за которых может происходить - код клиента, база, udf/udr, настройки fb, настройки сервака, железо. Каждый фактор пришлось исключать тестами. Это на фоне ежедневных падений рабочей базы со всеми их последствиями. Так что обратился за помощью когда собрал исходные данные и не смог сам локализовать проблему. Поэтому эти групповые "даже не потрудился ..." - мне кажутся не в тему. По существу: Валится даже когда udf/udr не задействованы, поэтому я исключил их из причин. Ошибка по udf промелькнула единственный раз в логе и больше ни разу не повторялась. Тем более эта udf проработала 4 года на 2.5 без падений. Я запускал udf 30 млн раз, расход памяти у firebird.exe не менялся (на классике). Вообще сколько указываю DefaultDbCachePages - столько памяти отъедает и не меняется. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2016, 17:27 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mlnТак что обратился за помощью когда собрал исходные данные и не смог сам локализовать проблему. А теперь ещё раз: у тебя проблема с падением сервера или его зависанием? Это как бэ две разные вещи... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2016, 17:35 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
С зависанием. Я в начале описал что в какой последовательности происходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2016, 17:41 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mlnС зависанием. Код: sql 1.
при этом тоже зависает или выдаёт результат? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2016, 17:44 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Код: sql 1.
при этом тоже зависает или выдаёт результат? С такими ключами не пробовал, а с "-d -L" и "-d -n" выдавал результат. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2016, 17:47 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mlnС такими ключами не пробовал Тогда покамест далее говорить не о чем. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2016, 17:51 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mln, запуск кривой udf на классике и на супере дают совершенно разные результаты. В классике в случае чего отвалится только один коннект, в супере отвалятся все коннекты. Опять же поскольку коннекты у тебя в воркерах короткие, то и процессы классика долго жить не будут и могут не успеть загадить память, система всё равно вычистит не освободившуюся память при смерти процесса. С супером же у тебя проблемы будут накапливаться как снежный ком. Да и вообще мы ещё не видели что там в воркерах такого страшного делается. Я вон запускал тесты Таблоида на 500 коннектах, что-то особо никто не отваливался. То что пока возвращаешься на 2.5 это хорошо, хоть работать будешь, но вот причину искать не прекращай. Может действительно в FB какой-то баг затесался. Всем будет лучше если его исправят. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2016, 17:57 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Симонов ДенисТо что пока возвращаешься на 2.5 это хорошо Не возвращается он. Процедуру обратной миграции не осилил. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2016, 18:08 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Симонов Денисзапуск кривой udf на классике и на супере дают совершенно разные результаты. В классике в случае чего отвалится только один коннект, в супере отвалятся все коннекты. Опять же поскольку коннекты у тебя в воркерах короткие, то и процессы классика долго жить не будут и могут не успеть загадить память, система всё равно вычистит не освободившуюся память при смерти процесса. С супером же у тебя проблемы будут накапливаться как снежный ком. У меня на классике один коннект выдает ошибку, после этого новые коннекты не делаются - они молча висят (и не коннектятся, и не выдают ошибку), пока не закрываю все старые (работающие) коннекты и не перезагружаю главный. Попробую добиться воспроизведения ошибки на синтетическом тесте в спокойной обстановке. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2016, 18:12 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mlnУ меня на классике один коннект выдает ошибку Какую ошибку? Точный и полный текст - В СТУДИЮ!!! Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2016, 18:16 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovНе возвращается он. Процедуру обратной миграции не осилил. Он осилил. Правда это заняло пол ночи, т.к. и база большая, и получилось с третьего раза. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2016, 18:17 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovdb20mlnУ меня на классике один коннект выдает ошибку Какую ошибку? Точный и полный текст - В СТУДИЮ!!! Вроде бы все описал в начале: У одного из воркеров (только у одного) при этом выскакивает ошибка: firebird Attachment::start Transaction failed when loading mapping cache Иногда ошибка: Your user name and password are not defined. Ask your database administrator to set up a Firebird login. В логах при этом возникают ошибки - обычно 2 подряд: Database: C:\PROGRAM FILES\FIREBIRD\FIREBIRD_3_0\SECURITY3.FDB page 0, page type 1 lock denied (216) Database: page 0, page type 1 lock denied (216) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2016, 18:20 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mlnэто заняло пол ночи, т.к. и база большая, и получилось с третьего раза. Такова судьба всех оптимистов, которые переносят на новый сервер всю нагрузку разом, без обдумывания стратегии на случай возникновения проблем. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2016, 18:22 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mlnпри этом выскакивает ошибка При чём "при этом"? Какой именно вызов приводит к ошибке? У тебя что, каждый этап производится в новом коннекте?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2016, 18:33 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mlnfirebird Attachment::start Transaction failed when loading mapping cache И, кстати, этот текст несколько отличается от того, что я вижу в исходниках: 1) Нет "firebird" в начале; 2) Сервер говорит "IAttachment::startTransaction". Ты уверен, что это сообщение - точное?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2016, 18:47 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovПри чём "при этом"? Какой именно вызов приводит к ошибке? У тебя что, каждый этап производится в новом коннекте?.. Да, этапы идут последовательно. Сперва воркеры делают первый этап, затем пауза, потом второй, потом третий. Dimitry Sibiryakovdb20mlnfirebird Attachment::start Transaction failed when loading mapping cache И, кстати, этот текст несколько отличается от того, что я вижу в исходниках: 1) Нет "firebird" в начале; 2) Сервер говорит "IAttachment::startTransaction". Ты уверен, что это сообщение - точное?.. Я по началу сохранял сообщения в текстовый файл, возможно слово firebird приписал сам а букву I удалил в спешке. Но на последней сборке было вот такое сообщение (проверил по скриншоту): page 0, page type 1 lock denied IAttachment::startTransaction failed when loading mapping cache. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2016, 19:04 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mlnIAttachment::startTransaction failed when loading mapping cache. Вот это уже гораздо лучше: первая строчка таки выплыла. И не забудь, что "fb_lock_print -s -a -w" при зависании надо снимать именно с security3.fdb. Но лучше сними с обоих баз. Чтобы наверняка. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2016, 19:09 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mln, можешь сделать валидацию security3.fdb ? gfix -v -full security3.fdb -user SYSDBA есс-но, при остановленном сервере ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2016, 20:46 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mlnКомбинации факторов из-за которых может происходить - код клиента, база, udf/udr, настройки fb, настройки сервака, железо. Каждый фактор пришлось исключать тестами. облегчу дальнейшее тестирование. Факторы, из-за которых может происходить: - код клиента - нет. - база - разве что при повреждении, а так - нет. - udf/udr - да - настройки FB - нет - настройки сервака - нет - железо - ... может быть. так что, если проблема остается, даже после тщательной проверки udf (типа, оно 100% не глючное), то тогда - баг в сервере. Причем, воспроизводимый скорее всего только твоей специфической нагрузкой. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2016, 20:48 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovИ не забудь, что "fb_lock_print -s -a -w" при зависании надо снимать именно с security3.fdb. Но лучше сними с обоих баз. Чтобы наверняка. К сожалению сервер уже переведен на 2.5. Если получится воспроизвести на локальном - сделаю. hvladможешь сделать валидацию security3.fdb ? Делал, ошибок нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2016, 11:29 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
После перевода на 2.5: При удалении записей из одной таблицы (через IBExpert), выдало: "unknown ISC error 0." Повторялось даже на пустой таблице после реконнекта. Исчезло после того как повторил запрос с названием таблицы в кавычках "TASK" и больше не воспроизводилось. TASK - это таблица со списком задач для воркеров, т.е. в нее пишутся и читаются данные во время обработок, но не сильно интенсивно (по сравнению с другими таблицами). PS: Вроде это даже не ошибка, но на всякий случай написал. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2016, 11:42 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mlnК сожалению сервер уже переведен на 2.5. Мне в 100501-й раз повторить рецепт плавной миграции?.. Второй сервер рядом со старым - master-master репликация - постепенный перенос нагрузки с одного сервера на другой. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2016, 11:46 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovМне в 100501-й раз повторить рецепт плавной миграции?.. Второй сервер рядом со старым - master-master репликация - постепенный перенос нагрузки с одного сервера на другой. Делал по http://www.ibase.ru/prevver/ С репликацией FB не сталкивался, поэтому если бы не получилось - скорее делал бы через создание базы из скрипта и заливку данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2016, 11:53 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mlnделал бы через создание базы из скрипта и заливку данных. И в каком месте это плавная миграция? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2016, 11:57 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovИ в каком месте это плавная миграция? А в чем преимущество миграции через репликацию, где почитать? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2016, 12:16 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
db20mlnА в чем преимущество миграции через репликацию, где почитать? В том, что тебе не нужно сидеть ночами переливая базу и пользователи не страдают. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2016, 12:41 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Добрый день! Тоже обнаружил подобную проблему на 3.0 classic + debian (виртуалка под VMWare 6.5) На 3.0.1/debian9 на 200 коннектах + запросы с web'а ложили сервер через 4 часа. После обновления клиентских библиотек до 3.0.4 время жизни сервера увеличилось, но раз в 2 дня стабильный ступор. Переехали на 3.0.5/debian10 на прошлой неделе. Вчера сервер опять сложился. Время жизни - 4 дня. Я так понял из треда следующий этап - это переезд на SS? p.s. UDF не использую, база ~20G c несколькими большими таблицами с логами, есть триггера на коннект. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2019, 16:47 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
18.02.2019 16:47, slrb пишет: есть триггера на коннект. и небось к MON$-таблицам в них обращаешься?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2019, 17:00 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Мимопроходящий18.02.2019 16:47, slrb пишет: есть триггера на коннект. и небось к MON$-таблицам в них обращаешься?.. Есть такое, рублю зависшие транзакции раз в 12 часов. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2019, 17:44 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
18.02.2019 17:44, slrb пишет: > Есть такое, рублю зависшие транзакции раз в 12 часов. не нужно ЭТО делать ТАКИМ способом. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2019, 17:49 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
slrb, скрипт по крону пускай, нечего торкать mon$ на коннект. Любое обращение к mon$ заставляет сервер собирать всю информацию о коннектах, вплоть до препарированных запросов. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2019, 17:53 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Мимопроходящий18.02.2019 17:44, slrb пишет: > Есть такое, рублю зависшие транзакции раз в 12 часов. не нужно ЭТО делать ТАКИМ способом. Спасибо за наводку (под 2.5 работало без вопросов). ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2019, 17:55 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
kdvslrb, скрипт по крону пускай, нечего торкать mon$ на коннект. Любое обращение к mon$ заставляет сервер собирать всю информацию о коннектах, вплоть до препарированных запросов. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2019, 17:57 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
slrbСпасибо за наводку (под 2.5 работало без вопросов). при 4т соединений на 2.5 точно не работает ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2019, 18:27 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
kdvslrb, скрипт по крону пускай, нечего торкать mon$ на коннект. kdv дело говорит. Поддерживаю. У меня на промышленных базах именно так. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2019, 08:54 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Тоже бьюсь с этой проблемой. Думал в трешке пофиксено. Заметил только, что хуже становится на плохой сети, когда много ошибок 10054 Убивание "висяков" помогает, но несильно - как повезет ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2019, 21:20 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Игорь-PicoMed, мне интересно, как кривая сеть может быть "пофиксена" в Firebird 3. К примеру, у нас много серверов на обслуживании, которые круглосуточно работают, и если бы эти сервера падали каждые четыре часа - это был бы апофеоз. Даже раз в сутки или в несколько дней - это уже ненормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2019, 21:53 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
kdvИгорь-PicoMed, мне интересно, как кривая сеть может быть "пофиксена" в Firebird 3. К примеру, у нас много серверов на обслуживании, которые круглосуточно работают, и если бы эти сервера падали каждые четыре часа - это был бы апофеоз. Даже раз в сутки или в несколько дней - это уже ненормально. Главный вопрос - где ошибка. В сети или в FB. У меня 43 сервера с одинаковыми базами по структуре (версии FB и конфигурации идентичные), из них 6 страдают этой болезнью. 4 из них - это виртуалка (VMWare). Один вообще - печалька - перегружаем каждую ночь. Еще один - то работает дней 20, то раза три в день падает. Дыр в дисках/базах нет. Из падучих серверов ни один не живет больше 20 дней без перезагрузки, при этом по остальным - есть экземпляры которые по несколько лет не перегружались - и ни ни одного сбоя. Естественно собираем статистику чтобы не превращать работу в кошмар. Пытаюсь на стенде смоделировать ситуацию. Пока - не выходит. От нагрузки (количества юзеров) статистика по сбоям не зависит. Закономерностей нет, кроме уровня хреновости сети, и то что на виртуалке время жизни короче - о чем и писал выше. Хуже всего, что падает именно FB и именно по ошибке доступа к Security Database или lock-менеджеру. Другие сетевые службы работают исправно. Поэтому и вопрос - где фиксить или кому вилы в зад втыкать. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2019, 13:35 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Игорь-PicoMedУ меня 43 сервера с одинаковыми базами по структуре (версии FB и конфигурации идентичные), из них 6 страдают этой болезнью. 4 из них - это виртуалка (VMWare). Один вообще - печалька - перегружаем каждую ночь. для меня подобная информация - ключевая. Это значит, что у виртуалок надо пошагово менять настройки сети (сетевых "карт"). Я не спец по сети, но если сервер А не глючит, а сервер Б глючит, при этом сервер Б на виртуалке, то я не полезу "настраивать ФБ". Для меня очевидно, что проблема в виртуалке. Причем, слово "виртуалка" необязательно, отличие может быть в чем-то другом, и это отличие и надо фиксить, разве нет? Я как-то не улавливаю логики, почему надо фиксить ФБ, если при одинаковой версии и конфигурации у него проблемы на 6ти серверах из 43. p.s. расскажу историю. В одной конторе лет 10 назад была куча ошибок 10054, и явных сбоев коннектов. А мы в то время выпустили версию FBScanner, который мог определить, с какой стороны (клиент или сервер) оборвался коннект, и почему. Поставили, запустили. И ... ошибки 10054 прекратились совсем. Ок. Я сделал вывод, что поскольку FBScanner вносит задержку в передачу данных, видимо, на серваке есть какое-то ПО, которое без этих задержек "не успевает". Оказалось что да, стояла там какая-то фигня от HP, которая перехватывала пакеты. Её обновили, и 10054 пропали. Это не намёк на FBscanner, а намёк на то, что проблемы с сетью нужно искать какими-нибудь снифтерами, которые могут анализировать причины сетевых ошибок. В ряде случаев это могут быть вообще железные тестеры сети. Также припоминаю случай, где одна дефективная сетевая карта на клиентском компе гадила в сеть при выключении компа, что приводило к периодическим падениям другого сервера с IB (это было вообще лет 20 назад). Так что вариантов подобных глюков - масса. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2019, 14:16 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
У нас всё на виртуалках. Думаю даже, что всё на VMware. Проблем нет ни с ФБ, ни с МС, ни с Оракулом. Связь с филиалами, мягко говоря, не ахти. Поэтому и связались с VMware. Их решения позволяют минимизировать проблемы в сети. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2019, 15:35 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
21.02.2019 15:35, KreatorXXI пишет: > Поэтому и связались с VMware. > Их решения позволяют минимизировать проблемы в сети. как это? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2019, 15:39 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
kdvЯ сделал вывод, что поскольку FBScanner вносит задержку в передачу данных, русский вариант американской байки про "e-mail ходит только на расстояние до NN миль" ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2019, 15:43 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
Мимопроходящий, например, у нас используются виртуальные рабочие столы. Которые развертываются на тех же площадках, где и рабочие сервера. Пользователь в Новосибирске сразу коннектится, допустим, к Москве. При плохой связи потерять может только картинку на мониторе. Понятно, что это некий аналог стандартного виндового rdp. Может более продвинутый. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2019, 16:02 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
21.02.2019 16:02, KreatorXXI пишет: > у нас используются виртуальные рабочие столы. Которые развертываются на тех же площадках, где и рабочие сервера. ок. понял. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2019, 16:57 |
|
Зависание базы - новые коннекты не реагируют, старые работают
|
|||
---|---|---|---|
#18+
kdvЯ как-то не улавливаю логики, почему надо фиксить ФБ, если при одинаковой версии и конфигурации у него проблемы на 6ти серверах из 43. Сдаёццо мне, надобно для начала вирусню на этих 6 серверах извести. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2019, 19:57 |
|
|
start [/forum/topic.php?all=1&fid=40&tid=1560798]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
80ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
129ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 270ms |
0 / 0 |