Atanas
Дата: 08.08.2012 09:55:41
Здравствуйте, Уважаемые
Время от времени сервер Firebird SC 2.5.1.26351 как бы "зависает". Выполнение запросов отстанавливается, попытки соединения зависают. При этом одно ядро процессора загружается полностью под 100% в диспетчере задач, остальные почти ноль. Через некоторое время, в среднем 5-6 минут, сервер "отвисает". Начинают работать все ядра, коннект устанавливается. В perfmon'е при "зависании" затыков не видно... Само зависание происходит 2-3 раза в день. Время разное, не похоже что из-за нагрузки. В firebird.log ничего подозрительного. Только ошибки "INET/inet_error: read errno = 10054", которые выскакивают регулярно и не зависят от зависаний. Подскажите плиз, что сделать, чтобы выявить и решить проблему?
Процессоры Intel Xeon E5620 4 шт x 4 ядра. Памяти 48 Гб. Размер базы 3.5 Гб, пользователей 300-400. Если нужна доп. информация, готов предоставить.
arni
Дата: 08.08.2012 10:34:13
В первую очередь смотреть статистику хидера базы, чтобы контролировать счетчики транзакций: NextTransaction,Oldest Active/Oldest Interesting/OldestSnapshot, а также знать величину SweepInterval оттуда же. Есть подозрение, что база постоянно уходит в sweep.
Atanas
Дата: 08.08.2012 11:41:51
Уборка выключена (SweepInterval =0). Сборка мусора делается по необходимости в течении дня. Каждую ночь бэкап и рестор производятся. Разница NextTransaction-OldestActive < 10 000. Слежу постоянно. Статистику могу выложить, если после описанного здесь она нужна. Тогда вопрос в какой/какие моменты ее снимать? Снимать только заголовок?