powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FB 3 зависает на операциях обновления.
25 сообщений из 53, страница 1 из 3
FB 3 зависает на операциях обновления.
    #39829345
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый.
Имею сервер fb 3.0.4 classic, работает под linux. База весит ~30Гб.
С базой работает веб приложение. Параметры транзакции выставлены следующие: read commited, record version, wait.
Принцип работы такой: у приблизительно 40 пользователей с интервалом в 6 сек обновляется несколько гридов с данными. Так же в фоне работает служба, которая периодически принимает данные из вне и затем пишет/обновляет их в базе.
Так вот, примерно после минут 20-30, на этапе обновление строки с данными в таблице, по которой идет интенсивный селект этих данных, происходит "лок" базы, т.е. у всех пользователей зависают запросы, ibexpert и т.д.
Если зайти в htop, там видно что болтается один два процесса firebird, которые грузят на 100% по одному ядру проца. Если убить этот зависший процесс fb, база отвисает, продолжает работать в штатном режиме. При этом на 2.5.8 такой проблемы нет.
Есть у кого какие мысли что это такое может быть?
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39829357
sysdba22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
может быть где-то похоже и на нашу ситуацию, которая с нового года приключилась уже три раза... только у нас супер, так что убить процесс не получится и грузится не одно ядро, а все 48 на 100%.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39829361
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Самое интересное что сейчас на боевой базе 2.5, настройки сервера одинаковые что на 2.5 что на 3.0, проблем подобного рода не было ни разу. На 3-ке же такая беда, причем один раз ibexpert не завис, в мониторинге удалось увидеть что висит транзакция с апдейтом одной записи. Я в принципе даже предположить не могу, почему так происходит.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39829369
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992,

автосвип? давай gstat -h
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39829423
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Автосвип выключен.
Sweep interval=0
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39829512
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992видно что болтается один два процесса firebird, которые грузят на 100% по одному ядру процаПриатачиться к этому процессу с gdb, приостановить выполнение, в другой консоли выполнить fb_lock_print -a и сохранить его результаты в файл,
в самом gdb снять стеки всех потоков (thread apply all bt) и также сохранить в файл, эти файлы показать нам (мне).

Ещё можно попробовать снапшот 3.0.5
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39829994
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39830018
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992,

криминала не вижу.

В первом файле есть стеки всех потоков, один из них выполняет какой-то достаточно кудрявый запрос,
с сортировкой и union. Я насчитал более 20 джойнов

Во втором файле стек только одного, рабочего потока, он тоже выполняет подобный запрос.
Похоже, что это повторный стек с того же процесса.

Лок таблица показывает 279 коннектов, один из процессов (pid 14243) удерживает 3 блокировки
- лок мониторинга, его ждут 8 процессов
- страничный лок (стр 410262), его ждут 70 процессов
- страничный лок (стр 1209260), его ждут 130 процессов

Скорее всего это именно тот процесс, который остановлен в gdb - потому и не отпускает блокировки.

Сказать могу только одно - проверяйте планы запросов.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39830033
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, именно процесс 14243 повесил базу. Получается, что в 3.0 локи обрабатываюся не как в 2.5, потому что подобных зависаний на 2.5 не было ни разу.
Спасибо за наводку, будем разбираться.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39830037
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992,
разбираться не с локами а с тем что сказал Влад
hvladСказать могу только одно - проверяйте планы запросов.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39830251
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
никогда не ставь "голый" WAIT.
да и вообще, не нужно его пихать неосознанно.

зы: я у себя в компонентах доступа переделал нахрен
наследство Грегори Дица и Джефа Оверкекша касаемое TIBTransaction.
нашенский компонент тупо не предоставляет возможности выставить WAIT без таймаута.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39830674
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Запросы что я выполнял написаны нормально, есть конечно куда опимизировать, но уж точно не коряво.
На 3.0 super работает отлично, зависаний нет, но там другая проблема, в корявых udf, которые работали на 2.5, но на 3.0 падают в segmentation fault и валит за собой все коннекты.
Отсюда я могу сделать вывод, что в тройке classic работает не так, как на 2.5.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39830677
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий,

Я прочитал много материала по поводу wait/nowait, но так и не понял до конца, чем может грозить, если я установлю в nowait?
Т.е. как работают эти режимы я понимаю, но во что может вылиться использование этого режима я до конца понять не могу, если кто-то может внятно объяснить, помогите пожалуйста разобраться.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39830684
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
26.06.2019 12:55, demon1992 пишет:
> Я прочитал много материала по поводу wait/nowait, но так и не понял до конца

тогда забей и всегда используй NOWAIT.
кроме работы с метаданными.

зы: но и при работе с метаданными один "голый" WAIT не ставь.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39830693
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992Отсюда я могу сделать выводкакой угодно.

Не достаточно данных, чтобы делать выводы.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39830699
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992,

небось забыл в UDF указать IsMultithreaded := True
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39830701
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
26.06.2019 13:28, Симонов Денис пишет:
> небось забыл в UDF указать IsMultithreaded := True

для CS пофигу
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39830702
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

так у него же на супере segmentation fault
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39830703
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
26.06.2019 13:31, Симонов Денис пишет:
> так у него же на супере segmentation fault

я уже запутался кто у него на чём стояло... :)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39830734
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо за помощь :)
Позже, как будет больше свободного времени, попытаюсь провести более правильный тест и предоставить больше информации.
Пока же остановился на SuperServer, на нем, кроме пары кривых udf, все работает.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39832594
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Снова проблема, теперь уже с SuperServer. Начинает виснуть при выполнении одной хп, снял lockprint во время полного зависания бд.
Можно ли понять по нему в чем проблема?
https://drive.google.com/open?id=18GlVi4JhjeXuSbhMWgIaxay_dyfbI18P
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39832599
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992,

откуда такая вера в то, что содержимое лок-таблицы даст ответы на все вопросы ?
Тем более для SS.

В данном случае есть ожидания только для одной блокировки - мониторинг.
Ждут её 8 коннектов (из 321). Т.е. говорить вообще не о чем.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39832668
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
результативнее сделать как первый раз - с помощью gdb снять бектрассы всех потоков, fb_lock_print бонусом
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39832706
demon1992
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Одну из причин точно нашел. В хп, которая все вешает, делает ~3.5к вставок и удалений во временную таблицу, вставляется blob у которого sub_type text. Так вот, выполняется хп довольно быстро, что-то в районе 30-60 сек, но вот коммит висит очень долго, на пустой базе без пользователей 3-4 минуты, на загруженной базе больше 10 минут. Как раз во время коммита остальные запросы начинают виснуть, как только коммит проходит, все отвисает. Убираю в хп вставку блобов, коммит отрабатывает за 2 сек.
Чуть позже сделаю сравнение с fb 2.5 и сообщу о результате.
...
Рейтинг: 0 / 0
FB 3 зависает на операциях обновления.
    #39832718
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
demon1992,

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


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