Блокировка таблицы в FB 152 Classic

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
dmitryvoronin
Сообщения: 2
Зарегистрирован: 22 фев 2006, 10:49

Блокировка таблицы в FB 152 Classic

Сообщение dmitryvoronin » 22 фев 2006, 11:03

Привет Всем!

Работал себе сервер FB 1.5.2 Cassic, на Win2003 Server, и небыло практически никаких проблем (довольно длительный период), как в одно время стала появляться одна бяка:
В какой-то момент, при обращении к одной из таблиц базы данных, которая активно используется пользователями (около 50), происходит зависание моей программы (или IBExperta), даже при выполнении запроса "SELECT ID FROM [PROBLEM_TABLE]". Если я убиваю все процессы FB, и перезапускаю его, то всё начинает работать нормально, до такой-же ситуации, которая может произойти или на следующий день, или через неделю.
Никаких изменений в программе, да и в самой базе данных не производилось. Так-что не могу сказать, что послужило причиной появления данной траблы.
Сделал бакап/восстановление, но это ничего не поменяло.

Подскажите, как решить эту проблему. Как я понимаю происходит блокировка таблицы, но кем, чем, и почему этого раньше небыло?

С уважением, Дмитрий Воронин!

Ivan_Pisarevsky
Заслуженный разработчик
Сообщения: 644
Зарегистрирован: 15 фев 2005, 11:34

Сообщение Ivan_Pisarevsky » 22 фев 2006, 12:28

Сборка мусора? Что говорит ИБаналист?
допустим идет индексное обращение к таблице и чтение не натыкается на мусорные записи, а потом один запрос пошел натуралом и тут ему достается собирать мусора по самое нехочу...
Если я убиваю все процессы FB, и перезапускаю его, то всё начинает работать нормально
Базу не боишься угробить?
такой-же ситуации, которая может произойти или на следующий день, или через неделю.
Никаких изменений в программе, да и в самой базе данных не производилось. Так-что не могу сказать, что послужило причиной появления данной траблы.
Но база то по размерам растет и раньше просто производительности с лихвой хватало, ... возможно
Сделал бакап/восстановление, но это ничего не поменяло.
Как часто сия процедура проделываптся?
-Доктор я весь чешусь...
-Мыться пробовали?
-Да, но через неделю снова чешусь...

dmitryvoronin
Сообщения: 2
Зарегистрирован: 22 фев 2006, 10:49

Сообщение dmitryvoronin » 22 фев 2006, 13:00

Базу не боишься угробить?
Боюсь, но т.к. клиентские проги заблокированы, то что остаётся делать?
Но база то по размерам растет и раньше просто производительности с лихвой хватало, ... возможно
Не так то она и растёт. Старая информация удаляется.
Как часто сия процедура проделываптся?
Каждое утро.
Автоматическая сборка мусора отключена (точнее я помню что её отключал (давно это было), а вот IBAnalyst сказал, что Sweep interval равен 20000)
[/quote]

IBAnalyst, говорит, среди всякой другой информации, что Некоторые транзакции активны слишком долгое время. Самая старая Oldest aktive стартовала 6065 транзакций назад, в то время как среднее число транзакций в день (утром было востановление) примерно равно 7037.

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 22 фев 2006, 13:13

Вообще-то это больше всего похоже на исчерпание какого-то ресурса оси, а не проблемы FB. Кривые UDF всю RAM отожрали например, или в TCP какое-то узкое место, или ещё чего. Помониторь ресурсы.

Ivan_Pisarevsky
Заслуженный разработчик
Сообщения: 644
Зарегистрирован: 15 фев 2005, 11:34

Сообщение Ivan_Pisarevsky » 26 фев 2006, 08:27

Еще, в дополнение к Мерлину, нет ли проблем с сетью? Может стоит кипалив поджать? В логе фб есть чего интересного? Сколько выделено памяти/свопа в моменты затыков? сколько процессов фб запущено?

Если бэкап/рестор каждое утро, то конечно врядли мусора скопится на суровые тормоза.

Еще может быть банально запрос, который ходит натуралом и исполняется одним пользователем, скажем, секунд за 10, а теперь этот запрос берут да и запускют человек 20 одновременно... и серверу приходится туговато...

Ответить