Падение индексов и первичных ключей
Падение индексов и первичных ключей
Периодически падают индексы, а иногда даже первичный ключ.
База работает под управлением Yaffil 1.0.
Таблицы с падающими индексами активно используются (несколько десятков тысяч транзакций в день) и содержат порядка 5-10 миллионов записей.
При такой работе где-то раз в неделю-две приходиться делать восстановление базы. Можно конечно пересоздавать только индексы на эти таблицы, но по времени это сравнимо.
Размеры самих записей небольшие (порядка 50-100 байт). Индексов по этим таблицам не более 2-х десятков, причем составных не много и по неболее чем 2-м полям.
Что характерно, есть одна подобная таблица, на которой индексы не падают.
Чем это может быть обусловлено и как с этим бороться?
База используется в режиме 24*7 и частые остановки для восстановления недопустимы.
База работает под управлением Yaffil 1.0.
Таблицы с падающими индексами активно используются (несколько десятков тысяч транзакций в день) и содержат порядка 5-10 миллионов записей.
При такой работе где-то раз в неделю-две приходиться делать восстановление базы. Можно конечно пересоздавать только индексы на эти таблицы, но по времени это сравнимо.
Размеры самих записей небольшие (порядка 50-100 байт). Индексов по этим таблицам не более 2-х десятков, причем составных не много и по неболее чем 2-м полям.
Что характерно, есть одна подобная таблица, на которой индексы не падают.
Чем это может быть обусловлено и как с этим бороться?
База используется в режиме 24*7 и частые остановки для восстановления недопустимы.
можно проверить железо (память)
www.ibase.ru/devinfo/sys_failure.htmБаза используется в режиме 24*7 и частые остановки для восстановления недопустимы.
Re: Падение индексов и первичных ключей
Что такое падают ?Shum писал(а):Периодически падают индексы, а иногда даже первичный ключ.
База работает под управлением Yaffil 1.0.
Таблицы с падающими индексами активно используются (несколько десятков тысяч транзакций в день) и содержат порядка 5-10 миллионов записей.
Как об этом узнаёте и что в yaffil.log ?
Массовые insert\update\delete с одинаковыми ключами есть ?
Какой билд дятла ?
Падают - это значит в какой-то момент сервер начинает страшно тормозить выдавая ответы на запросы к этим таблицам раз в 100-1000 медленнее, загрузка процессора 100% при этом время ядра 50%!
При попытке с делать простейшую выборку select * зависает напроч.
После пересоздания индексов приходит в норму. Но был случай когда помогло только удаление всех индексов и внешних ключей на эту таблицу, затем пересоздание первичного ключа. Но резервирование-восстановление решает эту проблему проще.
Версия 1.3.0.887 Classic
В логе ничего подозрительного нет. Максимум - несвоевременное завершение соединения со стороны клиента. Пользователи не дожидаются отвисания часами и снимают клиентов.
Массовые insert-delete с одинаковыми ключами индексов есть. Но не с первичным.
Для одной таблицы планировщик периодически гоняет пересоздание индексов - но это не дело!
При попытке с делать простейшую выборку select * зависает напроч.
После пересоздания индексов приходит в норму. Но был случай когда помогло только удаление всех индексов и внешних ключей на эту таблицу, затем пересоздание первичного ключа. Но резервирование-восстановление решает эту проблему проще.
Версия 1.3.0.887 Classic
В логе ничего подозрительного нет. Максимум - несвоевременное завершение соединения со стороны клиента. Пользователи не дожидаются отвисания часами и снимают клиентов.
Массовые insert-delete с одинаковыми ключами индексов есть. Но не с первичным.
Для одной таблицы планировщик периодически гоняет пересоздание индексов - но это не дело!
Тьфу, блин... Падают... Мусору надо плодить менше, а собирать его часче, и не держать висячие сутками транзакции. Вот если запись в таблице есть, а по индексу не селектится - это да, падают.Shum писал(а):Падают - это значит в какой-то момент сервер начинает страшно тормозить выдавая ответы на запросы к этим таблицам раз в 100-1000 медленнее, загрузка процессора 100% при этом время ядра 50%!
Мусор собирать нужно, однако. Хотя бы иногда.Shum писал(а):Падают - это значит в какой-то момент сервер начинает страшно тормозить выдавая ответы на запросы к этим таблицам раз в 100-1000 медленнее, загрузка процессора 100% при этом время ядра 50%!
При попытке с делать простейшую выборку select * зависает напроч
IBAnalyst возьми, когда опять тормоза начнутся, и посмотри на своё безобразие в БД
IBAnalyst + читать хелп к нему.
В Yaffil работает кооперативная сборка мусора
(www.ibase.ru/devinfo/garbage.htm), а не фоновая. Отсюда тормоза на запросах. Но обычно так быть не должно, значит скапливается мусор. Значит фигово работаете с транзакциями, уважаемый.
Могу в саппорте выдать монитор транзакций, посмотришь, чем у тебя движение транзакций отличается от систем, которые по миллиону транзакций в день стартуют, и в ус не дуют.
В Yaffil работает кооперативная сборка мусора
(www.ibase.ru/devinfo/garbage.htm), а не фоновая. Отсюда тормоза на запросах. Но обычно так быть не должно, значит скапливается мусор. Значит фигово работаете с транзакциями, уважаемый.
Могу в саппорте выдать монитор транзакций, посмотришь, чем у тебя движение транзакций отличается от систем, которые по миллиону транзакций в день стартуют, и в ус не дуют.