powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Зависание базы - новые коннекты не реагируют, старые работают
103 сообщений из 103, показаны все 5 страниц
Зависание базы - новые коннекты не реагируют, старые работают
    #39274178
db20mln
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Помогите, пож-та, найти причину проблемы.

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
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39274183
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mlnПомогите, пож-та, найти причину проблемы.
Судя по всему, недобитый CORE-4899. Пиши трекеру. Переходи на суперсервер. Ну и до
текущего снапшота тоже неплохо бы обновиться как минимум.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39274189
db20mln
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SS пробовал - не помогло. Правда не зафиксировал что было в логах.
(SS не подходит, в нашем случае выгоднее чтобы каждый коннект имел свой кеш)
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39274203
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mlnв нашем случае выгоднее чтобы каждый коннект имел свой кеш
это чешуя какая-то. любой СУБД выгоднее общий кэш. До сих пор супер был малоосмыслен именно по причине неподдержки SMP. А с поддержкой SMP в супере надобность в классике отпадает.

db20mlnSS пробовал - не помогло.
если ошибка не зависит от архитектуры, значит жди, пока пофиксят. А вообще планируй переход на SS.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39274204
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mln- В пишущей апдейтятся от 100 до 150 000 строк в одной транзакции.
кстати, вот тут классик 3.0 будет медленнее супера 3.0, однозначно.
И - у этих транзакций выставлено no_auto_undo?
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39274208
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mln,

fb_lock_print нужно делать для той БД, в которой ошибка - в данном случае security3.fdb
Если не знаешь как его запускать, делай c опцией -a.

Если эта проблема стабильно воспроизводится на SS\SC, то имеет смысл снять полный дамп памяти.
Но лучше всего, конечно, сделать воспроизводимый пример.

PS не вижу связи ни с "эта проблема возникала при переходе с 2.0 на 2.5", ни с CORE-4899
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39274209
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvИ - у этих транзакций выставлено no_auto_undo?Надеюсь, ты не советуешь этот флаг использовать ?
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39274210
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mlnSS пробовал - не помогло. Правда не зафиксировал что было в логах.Очень плохо, что не зафиксировал
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39274217
db20mln
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поставил Firebird-3.0.1.32562-0_x64 - буду тестить.

no_auto_undo не использую.

fb_lock_print для security3.fdb сделаю при ближайшем зависании.

SS попробую на днях еще раз, правда кеш надо будет очень большой поставить.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39274373
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mlnSS попробую на днях еще раз, правда кеш надо будет очень большой поставить.

начинай с 50K. Можно больше, но аккуратно, так как при превышении FileSystemCacheThreshold файловый кеш будет отрублен, что может сказаться как в лучшую. так и худшую сторону.

Если есть запросы с сортировками, то подымай TempCacheLimit.

Хотя все эти советы от этой ошибки скорее всего не спасут.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39274656
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladНадеюсь, ты не советуешь этот флаг использовать ?
советую. потому что он пишет, что "В пишущей апдейтятся от 100 до 150 000 строк в одной транзакции.". Таким образом, все равно undo log при роллбэке "работать" не будет (от 80 тыс до 150 тыс). А в результате апдейты будут работать быстрее.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39274662
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvА в результате апдейты будут работать быстрее.С чего бы это ?
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39274728
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

а что, разве нет такого совета "при массовых вставках укажите no_auto_undo"? или вставка от апдейта тут сильно отличается? Я может забыл чего...
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39274739
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv> или вставка от апдейта тут сильно отличается?

Отличается, конечно. Это даже в статье у тебя
было описано, если я правильно помню.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39274772
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvа что, разве нет такого совета "при массовых вставках укажите no_auto_undo"? Первый раз слышу.
Али с Таблоидом много общался ? ;)

Вообще говоря, многое зависит от того, как вставлять - одним оператором или кучкой мелких.
Во втором случае можно сэкономить немного памяти и чуть-чуть скорости. Совсем чуть-чуть.

kdvили вставка от апдейта тут сильно отличается?Если не апдейтить одну запись более одного раза - ничем не отличается.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39274822
db20mln
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По поводу пишущей транзакции.
Я собираюсь выделить те несколько полей которые апдейтятся - в отдельную таблицу, чтобы при апдейте плодились версии более мелких записей.
Или как вариант - переделать с update на insert (но придется периодически делать массовые delete) - даже не знаю лучше это или хуже.

Но все это никак не решит проблему, т.к. база виснет и на том этапе, где данных только читаются.

PS: Сейчас в качестве эксперимента пытаюсь избавиться от post_evet, больше уже грешить не на что.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39274824
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mlnЯ собираюсь выделить те несколько полей которые апдейтятся - в отдельную таблицу, чтобы
при апдейте плодились версии более мелких записей.

Бесполезно: в дельту и так включаются только изменённые поля.

db20mlnИли как вариант - переделать с update на insert (но придется периодически делать массовые
delete) - даже не знаю лучше это или хуже.

Бесполезно: твоя проблема никак не связана с основной БД вообще.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39274826
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mlnЯ собираюсь выделить те несколько полей которые апдейтятся - в отдельную таблицу, чтобы при апдейте плодились версии более мелких записей.Нет смысла. FB сохраняет сжатую дельту.
Можно выиграть пару байт на дельту, но потерять на заголовках записей и джойнах.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39275027
db20mln
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Избавление от 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*
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39275253
db20mln
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Последняя сборка зависает чаще.
Только что зависла при 20 активных коннектах.
Это бред.
Откатываюсь на 2.5.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39275262
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mln,

ты можешь на SS это воспроизвести и снять полный дамп памяти ?
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39275272
db20mln
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, попробую.
Все равно оказалось что просто так на предыдущую через b/r не перейдешь, ибо:
Expected backup version 1..9. Found 10. :(
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39275283
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mlnДа, попробую.Спасибо
db20mlnВсе равно оказалось что просто так на предыдущую через b/r не перейдешь, ибо:
Expected backup version 1..9. Found 10. :(Нужно бекапить gbak'ом от 2.5 и без сервисов
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39275291
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mln,

http://www.ibase.ru/prevver/
"Переход на версию «назад»"
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39275637
db20mln
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Перешел на супер.
Пришлось поставить 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 не зайдешь - тупит сильно, по несколько минут не реагирует.
В клиентское программе - тоже фризы нереальные, поэтому остальные юзеры курят пока не закончатся обработки.
При том что в классике - было нормально.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39275654
db20mln
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот дамп, но я не уверен что это тот, который нужен - т.к. после падения база тут же перезапускается.
https://yadi.sk/d/rUeYqOHCtPomc
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39275655
db20mln
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Снова упал с ошибкой в логе:

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.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39275658
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 не зайдешь - тупит сильно, по несколько минут не реагирует.Потому что ты отключил файловый кеш
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39275661
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mlnВот дамп, но я не уверен что это тот, который нужен - т.к. после падения база тут же перезапускается.Как ты его получил ?

Для получения дампа в момент падения чти про WER (windows error reporting)
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39275664
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mln,

а ты через новый fbclient работаешь или через тот что от 2.5 остался?
Подключаешься через алиас БД? В databases.conf никакие параметры не переопределял?

P.S. UDF была однозначно кривой. За UDR не скажу от неё вроде как логах ничего не было, но и не факт что если что не так туда оно попадает.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39275671
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mln,

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

он имеет ввиду новые внешние функции. Хотя я сильно сомневаюсь что он её правильно написал, ибо сложнее это чем Legacy UDF.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39275678
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисон имеет ввиду новые внешние функцииЯ значение букв UDR понимаю :) Но очень сильно сомневаюсь, что ТС имел в виду именно их.
Ставлю на PSQL ф-цию или встроенный хеш.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39275785
db20mln
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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, подскажите плз какое значение поставить.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39275792
db20mln
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денисdb20mln,
а ты через новый fbclient работаешь или через тот что от 2.5 остался?
Подключаешься через алиас БД? В databases.conf никакие параметры не переопределял?

P.S. UDF была однозначно кривой. За UDR не скажу от неё вроде как логах ничего не было, но и не факт что если что не так туда оно попадает.
Через GDS32.dll.
databases.conf не трогал.

Я ночью запускал тестовый прогон - все прошло без сбоев, просто очень медленно (видимо отключился файловый кеш).
Раньше на классике - тоже иногда все проходило без сбоев, но чем больше данных запускаешь обрабатывать, тем больше шансов сбоя.

Ну и супер при сбое просто перезапускается и отрубаются все коннекты.
А классик - ну я писал в начале, другое поведение и другие ошибки в логе.

Симонов Денисdb20mln,
ваша UDR тоже кривая.
Даже если и так - как мне об этом узнать, если сообщений об ошибках нет?
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39275796
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mln,

больше чем DefaultDbCachePages. А вообще логика кажется странной. Почему требуется апдейтить хренову тучу строк? Это же порождает мусор и его сборку. Оно реально всё апдейтится или всё же часть апдейтов просто работают в холостую?
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39275800
db20mln
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GDS32.dll - конечно же новый, который ставится тройкой.
Он и в C:\Windows\SysWOW64\ и в папке с приложением.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39275804
db20mln
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvladДля получения дампа в момент падения чти про WER (windows error reporting)
WER не был включен по умолчанию.
Сейчас включу, снова переключусь на СС и буду ждать сбой :(
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39275815
db20mln
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денисdb20mln,
больше чем DefaultDbCachePages. А вообще логика кажется странной. Почему требуется апдейтить хренову тучу строк? Это же порождает мусор и его сборку. Оно реально всё апдейтится или всё же часть апдейтов просто работают в холостую?
Это не лучшее решение, но оно было частью архитектуры и работало на 2.5.

Сейчас думаю как изменить эту части системы, чтобы радикально уменьшить кол-во апдейтов и инсертов.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39275821
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mlnhvladа) накой назначать огромный кеш ВСЕМ БД ?БД всего однаНет. Есть ещё security database

db20mlnЯ прикинул что если при классике я ставил 16000 (выбрано после ряда экспериментов), то при 40 одновременных воркерах - это как раз 640000.Ну почему никто никогда не вспоминает про файловый кеш ???

db20mlnudr.dll
У меня одна самописная внешняя функция - перед переходом с 2.5 на 3.0 реализовал ее в виде UDR.Я правильно поинмаю, что была UDF, которая приводила к падениям, и вместо неё была написана UDR (что на порядок сложнее) ? А смысл где ?
db20mlnhvladПотому что ты отключил файловый кеш
Я понял что он отключился из-за FileSystemCacheThreshold, подскажите плз какое значение поставить.Уже написали - больше, чем кеш БД.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39275825
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mlnПри меньшем кеше скорость работы падает.
А статистика работы кэша вообще собиралась или все изменения параметров проводятся
исключительно на "партийном чутье"?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39275827
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladЕсть ещё security database
Для которой в databases.conf гвоздиками прибито DefaultDbCachePages = 50.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39275839
db20mln
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvladЯ правильно понимаю, что была UDF, которая приводила к падениям, и вместо неё была написана UDR (что на порядок сложнее) ? А смысл где ?

Нет.
Была UDF - 32 битная - в ней всего одна функция, она 4 года работала на FB 2.5, ошибок не выдавала.
Когда скомпилировали ее под 64 бита - подключить так и не получилось, выдавала ошибки (под 64 битной FB).

После выхода тройки решил сделать UDR чтобы перейти на 64 битную базу, пока делал - разобрался и с 64 битной версией UDF.
Т.е. по сути могу сейчас использовать и UDF, и UDR.

Ошибки UDF появились первый раз сегодня - при запуске в SS.
Поэтому я и переключился на UDR.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39275841
db20mln
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovА статистика работы кэша вообще собиралась или все изменения параметров проводятся
исключительно на "партийном чутье"?

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

давай сюда код своей UDR/UDF вместе с объявлением метаданных.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39275861
db20mln
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денисдавай сюда код своей UDR/UDF вместе с объявлением метаданных.
https://yadi.sk/d/khuy3SX4tQPXh
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39275868
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mln,

1. Надо память явно выделить, а не возвращать указатель на автоматическую переменную, неужели не ясно.
2. При чем - не просто выделить, а из менеджера памяти FB. Т.е. чз ib_util_malloc и объявить с FREE_IT. (в случае с SS можно иногда вывернуться через ThreadVar и не использовать ib_util_malloc/FREE_IT, но смысла я не вижу в подобных извращениях).
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39275870
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mln,

Пример:

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
function ib_util_malloc( l: integer ): Pointer; cdecl; external 'ib_util.dll';

function MakeResultString( const Source: String ): PChar;
var
  Len: Integer;
begin
  Len := Length( Source );

  Result := ib_util_malloc( Len + 1 );

  if Len <> 0 then
    Move( PChar( Source )^, Result^, Len );

  Result[ Len ] := #0;
end;

function Left(sz: PChar; var Number: Integer): PChar; cdecl; export;
begin
  result := MakeResultString( Copy( String( sz ), 1, Number ) );
end;

exports Left;
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39275872
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
* для тебя - PChar в PAnsiChar и String в AnsiString заменить надо будет наверно в моем коде.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39275883
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mln,

UDF однозначно кривая. В UDR особых косяков не заметил.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39275889
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mln,

казалось бы, посмотрел примеры, и сделал по образцу
http://www.ibase.ru/files/download/safeudf.zip
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39276261
db20mln
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо за указанные ошибки, UDF переделаю.
Но база с UDR, последний билд, SS - падения никуда не делись.

Дамп памяти не сохраняется, винда не видит что приложение крашится (в журналах винды нет сообщений о сбоях) - т.е. дамп во время сбоя снять не могу.

По итогу:
Ошибка не отлавливается, причина неизвестна, решения нет - вернулся на 2.5.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39276284
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mln,

В UDR не разбираюсь. Но, я думаю, как минимум - не хватает в Udr.dpr
Код: pascal
1.
2.
3.
begin
  IsMultiThread := True;
end.


вместо
Код: pascal
1.
end.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39276286
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mlnОшибка не отлавливается
Ну так логируй каждую строчку udr (после того, как IsMultiThread включишь). Найдешь, где валится.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39276294
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock,

Не факт что UDR валится. В UDR с первого взгляда всё нормально. Единственное, что помнится были какие-то приколы с выравниванием буферов.

Автор даже не потрудился помониторить память на предмет утечки. Запустить на тестовом Firebird свою функцию 10 миллионов раз.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39276297
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисАвтор даже не потрудился
Он даже проблему локализовать не потрудился. Зависания у него "внезапно" обернулись крашами.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39276299
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисВ UDR с первого взгляда всё нормально
Вроде да, но в текущем состоянии при вызове функций из неё из разных потоков она обязательно должна иногда валиться, т.к. выделение памяти есть, автоматические типы есть, а IsMultiThread=False.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39276309
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mlnДамп памяти не сохраняется, винда не видит что приложение крашится (в журналах винды нет сообщений о сбоях) - т.е. дамп во время сбоя снять не могу.Гвардейца убери
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39276524
db20mln
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovСимонов ДенисАвтор даже не потрудился
Он даже проблему локализовать не потрудился. Зависания у него "внезапно" обернулись крашами.

Я 2 недели искал причины. Делал наугад, т.к. ошибки в логах не сильно помогли.

Комбинации факторов из-за которых может происходить - код клиента, база, udf/udr, настройки fb, настройки сервака, железо. Каждый фактор пришлось исключать тестами.

Это на фоне ежедневных падений рабочей базы со всеми их последствиями.

Так что обратился за помощью когда собрал исходные данные и не смог сам локализовать проблему.
Поэтому эти групповые "даже не потрудился ..." - мне кажутся не в тему.

По существу:

Валится даже когда udf/udr не задействованы, поэтому я исключил их из причин.

Ошибка по udf промелькнула единственный раз в логе и больше ни разу не повторялась.
Тем более эта udf проработала 4 года на 2.5 без падений.

Я запускал udf 30 млн раз, расход памяти у firebird.exe не менялся (на классике).
Вообще сколько указываю DefaultDbCachePages - столько памяти отъедает и не меняется.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39276532
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mlnТак что обратился за помощью когда собрал исходные данные и не смог сам локализовать проблему.

А теперь ещё раз: у тебя проблема с падением сервера или его зависанием? Это как бэ две
разные вещи...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39276540
db20mln
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С зависанием.
Я в начале описал что в какой последовательности происходит.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39276542
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mlnС зависанием.
Код: sql
1.
fb_lock_print -c -a -w


при этом тоже зависает или выдаёт результат?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39276544
db20mln
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov
Код: sql
1.
fb_lock_print -c -a -w


при этом тоже зависает или выдаёт результат?

С такими ключами не пробовал, а с "-d -L" и "-d -n" выдавал результат.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39276549
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mlnС такими ключами не пробовал
Тогда покамест далее говорить не о чем.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39276558
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mln,

запуск кривой udf на классике и на супере дают совершенно разные результаты. В классике в случае чего отвалится только один коннект, в супере отвалятся все коннекты. Опять же поскольку коннекты у тебя в воркерах короткие, то и процессы классика долго жить не будут и могут не успеть загадить память, система всё равно вычистит не освободившуюся память при смерти процесса. С супером же у тебя проблемы будут накапливаться как снежный ком.

Да и вообще мы ещё не видели что там в воркерах такого страшного делается. Я вон запускал тесты Таблоида на 500 коннектах, что-то особо никто не отваливался.

То что пока возвращаешься на 2.5 это хорошо, хоть работать будешь, но вот причину искать не прекращай. Может действительно в FB какой-то баг затесался. Всем будет лучше если его исправят.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39276565
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисТо что пока возвращаешься на 2.5 это хорошо

Не возвращается он. Процедуру обратной миграции не осилил.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39276567
db20mln
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денисзапуск кривой udf на классике и на супере дают совершенно разные результаты. В классике в случае чего отвалится только один коннект, в супере отвалятся все коннекты. Опять же поскольку коннекты у тебя в воркерах короткие, то и процессы классика долго жить не будут и могут не успеть загадить память, система всё равно вычистит не освободившуюся память при смерти процесса. С супером же у тебя проблемы будут накапливаться как снежный ком.
У меня на классике один коннект выдает ошибку, после этого новые коннекты не делаются - они молча висят (и не коннектятся, и не выдают ошибку), пока не закрываю все старые (работающие) коннекты и не перезагружаю главный.

Попробую добиться воспроизведения ошибки на синтетическом тесте в спокойной обстановке.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39276570
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mlnУ меня на классике один коннект выдает ошибку
Какую ошибку? Точный и полный текст - В СТУДИЮ!!!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39276571
db20mln
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovНе возвращается он. Процедуру обратной миграции не осилил.
Он осилил.
Правда это заняло пол ночи, т.к. и база большая, и получилось с третьего раза.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39276572
db20mln
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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)
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39276574
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mlnэто заняло пол ночи, т.к. и база большая, и получилось с третьего раза.

Такова судьба всех оптимистов, которые переносят на новый сервер всю нагрузку разом, без
обдумывания стратегии на случай возникновения проблем.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39276582
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mlnпри этом выскакивает ошибка
При чём "при этом"? Какой именно вызов приводит к ошибке? У тебя что, каждый этап
производится в новом коннекте?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39276589
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mlnfirebird Attachment::start Transaction failed when loading mapping cache

И, кстати, этот текст несколько отличается от того, что я вижу в исходниках:
1) Нет "firebird" в начале;
2) Сервер говорит "IAttachment::startTransaction".

Ты уверен, что это сообщение - точное?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39276602
db20mln
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39276607
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mlnIAttachment::startTransaction failed when loading mapping cache.

Вот это уже гораздо лучше: первая строчка таки выплыла.

И не забудь, что "fb_lock_print -s -a -w" при зависании надо снимать именно с
security3.fdb. Но лучше сними с обоих баз. Чтобы наверняка.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39276665
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mln,

можешь сделать валидацию security3.fdb ?

gfix -v -full security3.fdb -user SYSDBA

есс-но, при остановленном сервере
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39276668
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mlnКомбинации факторов из-за которых может происходить - код клиента, база, udf/udr, настройки fb, настройки сервака, железо. Каждый фактор пришлось исключать тестами.
облегчу дальнейшее тестирование. Факторы, из-за которых может происходить:
- код клиента - нет.
- база - разве что при повреждении, а так - нет.
- udf/udr - да
- настройки FB - нет
- настройки сервака - нет
- железо - ... может быть.

так что, если проблема остается, даже после тщательной проверки udf (типа, оно 100% не глючное), то тогда - баг в сервере. Причем, воспроизводимый скорее всего только твоей специфической нагрузкой.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39276928
db20mln
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovИ не забудь, что "fb_lock_print -s -a -w" при зависании надо снимать именно с
security3.fdb. Но лучше сними с обоих баз. Чтобы наверняка.
К сожалению сервер уже переведен на 2.5.
Если получится воспроизвести на локальном - сделаю.

hvladможешь сделать валидацию security3.fdb ?
Делал, ошибок нет.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39276941
db20mln
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
После перевода на 2.5:
При удалении записей из одной таблицы (через IBExpert), выдало: "unknown ISC error 0."
Повторялось даже на пустой таблице после реконнекта. Исчезло после того как повторил запрос с названием таблицы в кавычках "TASK" и больше не воспроизводилось.

TASK - это таблица со списком задач для воркеров, т.е. в нее пишутся и читаются данные во время обработок, но не сильно интенсивно (по сравнению с другими таблицами).

PS: Вроде это даже не ошибка, но на всякий случай написал.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39276948
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mlnК сожалению сервер уже переведен на 2.5.
Мне в 100501-й раз повторить рецепт плавной миграции?..

Второй сервер рядом со старым - master-master репликация - постепенный перенос нагрузки с
одного сервера на другой.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39276957
db20mln
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovМне в 100501-й раз повторить рецепт плавной миграции?..
Второй сервер рядом со старым - master-master репликация - постепенный перенос нагрузки с
одного сервера на другой.

Делал по http://www.ibase.ru/prevver/
С репликацией FB не сталкивался, поэтому если бы не получилось - скорее делал бы через создание базы из скрипта и заливку данных.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39276965
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mlnделал бы через создание базы из скрипта и заливку данных.

И в каком месте это плавная миграция?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39276983
db20mln
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovИ в каком месте это плавная миграция?
А в чем преимущество миграции через репликацию, где почитать?
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39277009
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db20mlnА в чем преимущество миграции через репликацию, где почитать?

В том, что тебе не нужно сидеть ночами переливая базу и пользователи не страдают.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Зависание базы - новые коннекты не реагируют, старые работают
    #39775733
slrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Тоже обнаружил подобную проблему на 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 несколькими большими таблицами с логами, есть триггера на коннект.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39775752
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
18.02.2019 16:47, slrb пишет:
есть триггера на коннект.

и небось к MON$-таблицам в них обращаешься?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39775798
slrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий18.02.2019 16:47, slrb пишет:
есть триггера на коннект.

и небось к MON$-таблицам в них обращаешься?..


Есть такое, рублю зависшие транзакции раз в 12 часов.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39775802
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
18.02.2019 17:44, slrb пишет:
> Есть такое, рублю зависшие транзакции раз в 12 часов.

не нужно ЭТО делать ТАКИМ способом.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39775805
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
slrb,

скрипт по крону пускай, нечего торкать mon$ на коннект. Любое обращение к mon$ заставляет сервер собирать всю информацию о коннектах, вплоть до препарированных запросов.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39775807
slrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий18.02.2019 17:44, slrb пишет:
> Есть такое, рублю зависшие транзакции раз в 12 часов.

не нужно ЭТО делать ТАКИМ способом.


Спасибо за наводку (под 2.5 работало без вопросов).
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39775810
slrb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdvslrb,

скрипт по крону пускай, нечего торкать mon$ на коннект. Любое обращение к mon$ заставляет сервер собирать всю информацию о коннектах, вплоть до препарированных запросов.

Спасибо.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39775841
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
slrbСпасибо за наводку (под 2.5 работало без вопросов).
при 4т соединений на 2.5 точно не работает
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39776018
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvslrb,
скрипт по крону пускай, нечего торкать mon$ на коннект.
kdv дело говорит. Поддерживаю. У меня на промышленных базах именно так.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39776972
Игорь-PicoMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тоже бьюсь с этой проблемой. Думал в трешке пофиксено.
Заметил только, что хуже становится на плохой сети, когда много ошибок 10054
Убивание "висяков" помогает, но несильно - как повезет
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39776990
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь-PicoMed,

мне интересно, как кривая сеть может быть "пофиксена" в Firebird 3. К примеру, у нас много серверов на обслуживании, которые круглосуточно работают, и если бы эти сервера падали каждые четыре часа - это был бы апофеоз. Даже раз в сутки или в несколько дней - это уже ненормально.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39777250
Игорь-PicoMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdvИгорь-PicoMed,

мне интересно, как кривая сеть может быть "пофиксена" в Firebird 3. К примеру, у нас много серверов на обслуживании, которые круглосуточно работают, и если бы эти сервера падали каждые четыре часа - это был бы апофеоз. Даже раз в сутки или в несколько дней - это уже ненормально.

Главный вопрос - где ошибка. В сети или в FB.
У меня 43 сервера с одинаковыми базами по структуре (версии FB и конфигурации идентичные), из них 6 страдают этой болезнью. 4 из них - это виртуалка (VMWare). Один вообще - печалька - перегружаем каждую ночь. Еще один - то работает дней 20, то раза три в день падает. Дыр в дисках/базах нет. Из падучих серверов ни один не живет больше 20 дней без перезагрузки, при этом по остальным - есть экземпляры которые по несколько лет не перегружались - и ни ни одного сбоя.
Естественно собираем статистику чтобы не превращать работу в кошмар.
Пытаюсь на стенде смоделировать ситуацию. Пока - не выходит.
От нагрузки (количества юзеров) статистика по сбоям не зависит.
Закономерностей нет, кроме уровня хреновости сети, и то что на виртуалке время жизни короче - о чем и писал выше.

Хуже всего, что падает именно FB и именно по ошибке доступа к Security Database или lock-менеджеру.
Другие сетевые службы работают исправно.
Поэтому и вопрос - где фиксить или кому вилы в зад втыкать.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39777283
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь-PicoMedУ меня 43 сервера с одинаковыми базами по структуре (версии FB и конфигурации идентичные), из них 6 страдают этой болезнью. 4 из них - это виртуалка (VMWare). Один вообще - печалька - перегружаем каждую ночь.
для меня подобная информация - ключевая. Это значит, что у виртуалок надо пошагово менять настройки сети (сетевых "карт"). Я не спец по сети, но если сервер А не глючит, а сервер Б глючит, при этом сервер Б на виртуалке, то я не полезу "настраивать ФБ".
Для меня очевидно, что проблема в виртуалке.
Причем, слово "виртуалка" необязательно, отличие может быть в чем-то другом, и это отличие и надо фиксить, разве нет?

Я как-то не улавливаю логики, почему надо фиксить ФБ, если при одинаковой версии и конфигурации у него проблемы на 6ти серверах из 43.

p.s. расскажу историю. В одной конторе лет 10 назад была куча ошибок 10054, и явных сбоев коннектов. А мы в то время выпустили версию FBScanner, который мог определить, с какой стороны (клиент или сервер) оборвался коннект, и почему. Поставили, запустили. И ... ошибки 10054 прекратились совсем. Ок. Я сделал вывод, что поскольку FBScanner вносит задержку в передачу данных, видимо, на серваке есть какое-то ПО, которое без этих задержек "не успевает". Оказалось что да, стояла там какая-то фигня от HP, которая перехватывала пакеты. Её обновили, и 10054 пропали.

Это не намёк на FBscanner, а намёк на то, что проблемы с сетью нужно искать какими-нибудь снифтерами, которые могут анализировать причины сетевых ошибок. В ряде случаев это могут быть вообще железные тестеры сети.
Также припоминаю случай, где одна дефективная сетевая карта на клиентском компе гадила в сеть при выключении компа, что приводило к периодическим падениям другого сервера с IB (это было вообще лет 20 назад). Так что вариантов подобных глюков - масса.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39777377
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У нас всё на виртуалках. Думаю даже, что всё на VMware. Проблем нет ни с ФБ, ни с МС, ни с Оракулом. Связь с филиалами, мягко говоря, не ахти. Поэтому и связались с VMware. Их решения позволяют минимизировать проблемы в сети.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39777383
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
21.02.2019 15:35, KreatorXXI пишет:
> Поэтому и связались с VMware.
> Их решения позволяют минимизировать проблемы в сети.

как это?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39777390
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvЯ сделал вывод, что поскольку FBScanner вносит задержку в передачу данных,

русский вариант американской байки про "e-mail ходит только на расстояние до NN миль"
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39777409
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

например, у нас используются виртуальные рабочие столы. Которые развертываются на тех же площадках, где и рабочие сервера. Пользователь в Новосибирске сразу коннектится, допустим, к Москве. При плохой связи потерять может только картинку на мониторе. Понятно, что это некий аналог стандартного виндового rdp. Может более продвинутый.
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39777443
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
21.02.2019 16:02, KreatorXXI пишет:
> у нас используются виртуальные рабочие столы. Которые развертываются на тех же площадках, где и рабочие сервера.

ок. понял.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зависание базы - новые коннекты не реагируют, старые работают
    #39777579
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvЯ как-то не улавливаю логики, почему надо фиксить ФБ, если при одинаковой версии и конфигурации у него проблемы на 6ти серверах из 43.

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


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