Текущий архив: 2008.01.27;
Скачать: CL | DM;
Вниз
зависает firebird server Найти похожие ветки
← →
LoDr (2007-12-19 11:47) [0]в IBExpert осуществляю простой запрос с использованием функции strreplace, при указании пустых значений подстрок(str,"","") IBExpert и Firebird Server(1.5.3) висят. причины зависания могут быть и другими(при осушествлении "тяжелых" запросов больших обьемов).
Восстановить работу сервера можно только путем перезапуска служб(сервера).
Подскажите плз можно ли как-нить устранить данную проблему(в чем могут быть причины зависания)?
Или как можно в таком случае осуществить автоматическую перезагрузку служб?
← →
Desdechado © (2007-12-19 11:49) [1]Если запрос большой, весьма вероятно срабатывание автоматической сборки мусора в процессе выполнения. Подробности на ibase.ru
← →
Mystic © (2007-12-19 12:41) [2]Скорее всего не оптимизирован strreplace. Находим в строку пустую подстроку. Меняем ее на пустую подстроку. Переходим на следующий символ. И т. д. В конце выполняем UPDATE. И так для каждой строки. Плюс еще всякие конкатенации (например создаем временную строку, копируем в нее содержимое до первого входжения (пустую строку) Добавляем туда то, на что надо поменять (пустую строку), перемещаем указатель на конец, и т. д. и т. п.
← →
LoDr (2007-12-19 12:49) [3]это понятно, проблема не в функции strreplace, а в зависании! сервера, он не падает, а просто висит...
← →
Desdechado © (2007-12-19 13:00) [4]> он не падает, а просто висит...
Он может просто свопиться, если в твоей UDF память поедается.
← →
Desdechado © (2007-12-19 13:01) [5]А еще может просто антивирус дотошно проверять все, что пишется на диск и читается с него.
← →
Mystic © (2007-12-19 13:10) [6]Что значит висит? Опиши симптомы
← →
LoDr (2007-12-19 14:21) [7]симптомы такие:
после зависания подлогониться или обратиться к базе не возможно,
проц и память резко нагружаются до определенного значения, но не превышают 50-60%, (остальные приложения на сервере работают нормально)
никаких ошибок в системных событиях не наблюдается, даже после перезапуска сервера.
← →
PEAKTOP © (2007-12-19 14:43) [8]бага скорее всего в самой UDF.
StrReplace, когда ей передают пустую строку поиска и пустую строку замены, может уходить в бесконечный цикл (в зависимости от того, как автор ее реализовал). А Firebird ждет ее успешного завершения.
← →
oldman © (2007-12-19 14:44) [9]
> остальные приложения на сервере работают нормально
И с чего ты взял, что сервер повис?
Прога твоя глючная...
← →
LoDr (2007-12-19 15:11) [10]
> oldman © (19.12.07 14:44) [9]
IBExpert - не моя прога
← →
www (2007-12-19 15:29) [11]чукча не читатель, чукча писатель
← →
turbouser © (2007-12-19 15:36) [12]
> LoDr (19.12.07 15:11) [10]
strreplace - что за UDF ? Косяк, может быть там.
Насчет "тяжелых" запросов - наверняка можно оптимизировать, иначе ССЗБ.
Есть еще вариант того, что файл бд испорчен - gfix в руки и вперед.
Страницы: 1 вся ветка
Текущий архив: 2008.01.27;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.016 c