|
Статус sweep на Firebird 2.5.2
|
|||
---|---|---|---|
#18+
Добрый день. Windows Server 2008 R2, Firebird 2.5.2 SuperClassic. Имеется база данных размером 355 Гб. В пятницу 3 августа вечером был запущен ручной sweep. Два дня параллельно со sweep'ом база данных работала на чтение с довольно большим количеством пользователей. Со вчерашнего вечера работает в монопольном режиме. Если я не ошибаюсь, в 2.5.2 про sweep пишется только начало и конец в лог. Пытаюсь оценить примерный прогресс свипа по косвенным признакам. В MON$IO_STATS нашел данные по запущенному gfix -sweep, и возник следующий вопрос. Итак, БД - 355 Гб (точный размер - 355 359 793 152). Размер страницы - 8192 байт. То есть в базе должно быть 43 378 881 страниц. Такое же число можно увидеть в MON$PAGES в таблице MON$DATABASE. MON$IO_STATS по gfix'у с свипом показывает MON$PAGE_READS 254 000 000 (округлил) страниц. То есть gfix -sweep прочитал намного больше страниц, чем содержится в базе данных. fb_lock_print демонстрирует большую активность. Нормально ли, что MON$PAGE_READS для процесса свипа показывает такое большое число страниц и не значит ли это, что свипер зациклился и по какой-то причине читает базу много раз подряд вхолостую? Большое спасибо заранее. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2018, 09:11 |
|
Статус sweep на Firebird 2.5.2
|
|||
---|---|---|---|
#18+
Igor IvkinНормально ли, что MON$PAGE_READS для процесса свипа показывает такое большое число страницБывает Igor Ivkinне значит ли это, что свипер зациклилсяНет Igor Ivkinпо какой-то причине читает базу много раз подрядДа. Всё зависит от кол-ва бекверсий, длины их цепочек, кол-ва индексов и размера кеша (который весьма мал у SC) Igor IvkinвхолостуюНет ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2018, 10:33 |
|
Статус sweep на Firebird 2.5.2
|
|||
---|---|---|---|
#18+
Получается, что на нашем 2.5.2 косвенными средствами не определить текущий прогресс свипа? Просто немного беспокоюсь, потому что sweep молотит уже третьи сутки, хотя по виду fb_lock_print и по общей активности процесса сервера, идет очень активное чтение и активная запись на диск, а кроме свипа с базой сейчас никто не работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2018, 10:45 |
|
Статус sweep на Firebird 2.5.2
|
|||
---|---|---|---|
#18+
Igor IvkinПолучается, что на нашем 2.5.2 косвенными средствами не определить текущий прогресс свипа?Снимать статистику (gstat -r) и смотреть на уменьшающее кол-во версий Есть ещё события свипа в трейсе, см http://tracker.firebirdsql.org/browse/CORE-3656 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2018, 11:28 |
|
Статус sweep на Firebird 2.5.2
|
|||
---|---|---|---|
#18+
Igor Ivkin, попутные замечания 2.5.2 это не очень хорошо. Желательно ознакомиться в релизнотах со списком исправленных багов, вплоть до 2.5.8. Даже в 2.5.3 исправлено много чего нехорошего. Учитывая размер базы, надо бороться не с длительным sweep, а с длинными транзакциями. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2018, 11:54 |
|
Статус sweep на Firebird 2.5.2
|
|||
---|---|---|---|
#18+
Igor Ivkin, kdv открываем RN и видим https://www.firebirdsql.org/file/documentation/release_notes/html/en/2_5/notes-253.html авторThe scan for limbo transactions at the end of a sweep has been improved. Помнится здесь это обсуждалось, вполне возможно ТС попал именно на это. Так что обновится надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2018, 13:02 |
|
Статус sweep на Firebird 2.5.2
|
|||
---|---|---|---|
#18+
Симонов ДенисIgor Ivkin, kdv открываем RN и видим https://www.firebirdsql.org/file/documentation/release_notes/html/en/2_5/notes-253.html авторThe scan for limbo transactions at the end of a sweep has been improved. Помнится здесь это обсуждалось, вполне возможно ТС попал именно на это. Так что обновится надо. Обновиться надо обязательно, но не уверен, что мой случай связан с limbo-транзакциями. У меня нет двухфазных коммитов, и если я правильно понимаю, то соответственно и транзакций в limbo быть не должно. Хотя может, и неважно, есть они или нет, если сканирование делается в любом случае. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2018, 13:18 |
|
Статус sweep на Firebird 2.5.2
|
|||
---|---|---|---|
#18+
Igor Ivkin, наличие limbo транзакций не обязательно. Тут фишка в их поиске. Вот то обсуждение http://www.sql.ru/forum/965029-1/ne-ostanavlivaetsya-fb-sluzhba-pri-starte-sweep-a-s-oit-39-mln-i-oat-ost-next-142-mln А вот описание в трекере http://tracker.firebirdsql.org/browse/CORE-3994 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2018, 13:39 |
|
Статус sweep на Firebird 2.5.2
|
|||
---|---|---|---|
#18+
Igor Ivkin, одно замечание сей баг будет заметен только если у вас разрыв в несколько миллионов образовался. Если нет, то это не ваш случай. Да и со чтениями он вроде напрямую не связан. З.Ы. В 3.0 свипу не обязательно читать всю базу ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2018, 13:51 |
|
Статус sweep на Firebird 2.5.2
|
|||
---|---|---|---|
#18+
Симонов ДенисIgor Ivkin, одно замечание сей баг будет заметен только если у вас разрыв в несколько миллионов образовался. Если нет, то это не ваш случай. Да и со чтениями он вроде напрямую не связан. З.Ы. В 3.0 свипу не обязательно читать всю базу Да, это очень похоже на мой случай. Разрыв составляет 2 000 000 транзакций, работает уже третьи сутки. Безопасно ли в таком случае остановить gfix -sweep, который запущен из командной строки (скажем, через Ctrl+C)? Если безопасно, то наверное умнее всего будет обновиться и перезапустить sweep. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2018, 15:11 |
|
Статус sweep на Firebird 2.5.2
|
|||
---|---|---|---|
#18+
Igor Ivkin Да, это очень похоже на мой случай. Разрыв составляет 2 000 000 транзакций, работает уже третьи сутки. Безопасно ли в таком случае остановить gfix -sweep, который запущен из командной строки (скажем, через Ctrl+C)? Если безопасно, то наверное умнее всего будет обновиться и перезапустить sweep. Уже поэкспериментировал на небольшой локальной базе данных, через Ctrl+C gfix -sweep останавливать бессмысленно, т.к. несмотря на завершение процесса gfix, в списке коннектов он останется и продолжит работать. Таким образом, вопрос формулируется немного иначе - можно ли каким-то образом безопасно остановить ручной gfix -sweep? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2018, 15:18 |
|
Статус sweep на Firebird 2.5.2
|
|||
---|---|---|---|
#18+
Igor IvkinРазрыв составляет 2 000 000 транзакций, работает уже третьи сутки. круто. Я думал такое только Таблоид устроить может :-) в целях тестирования ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2018, 15:24 |
|
Статус sweep на Firebird 2.5.2
|
|||
---|---|---|---|
#18+
Igor Ivkinможно ли каким-то образом безопасно остановить ручной gfix -sweep?Попробуй через мониторинг, если не получится: gfix -shut -force 0 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2018, 16:32 |
|
|
start [/forum/topic.php?fid=40&msg=39683772&tid=1561025]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
58ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 296ms |
total: | 447ms |
0 / 0 |