|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
Добрый день. База FB 3, размер 100Гб. Ежедневно утром делается nbackup 0 уровня. nbackup -D off -B 0 База Бэкап Времени занимает 15 минут. По воскресеньям делаем backup/restore gbak'ом. После restore nbackup работает 1.5 часа. Настройки nbackup не отличаются для обычного дня/воскресенья. Подскажите куда копать? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2019, 10:08 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
Atanas, -d off - это файловый кэш включен, а после рестора БД может в файловом кэше ОС отсутствовать. Если винда - посмотрите rammap, присутствует БД в файловом кэше, и в каком объеме. Как после рестора, так и утром. ради эксперимента можно заменить nbackup -D off -B 0 База Бэкап на nbackup -L база copy /b база бэкап nbackup -N база ну и смотреть на скорость дискового ввода-вывод во всех случаях. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2019, 11:14 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
kdv Atanas, -d off - это файловый кэш включен, а после рестора БД может в файловом кэше ОС отсутствовать. Если винда - посмотрите rammap, присутствует БД в файловом кэше, и в каком объеме. Как после рестора, так и утром. ради эксперимента можно заменить nbackup -D off -B 0 База Бэкап на nbackup -L база copy /b база бэкап nbackup -N база ну и смотреть на скорость дискового ввода-вывод во всех случаях. Да, винда. Rammap показал сегодня что закэшировано около 35% файла БД. Попробовал убрать -d off, в итоге nbackup шел более 3 часов, после чего пришлось убить. Судя по размеру файла бэкапа должен был закончить за 4 часа. Файловую копию нет возможности использовать. Т.к. у нас еще инкрементные бэкапы каждый час делаются. Может есть возможность винду заставить закэшировать файл бд после рестора? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 12:38 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
Для того, чтоб что-то закэшировать, надо это "что-то" зачитать. То есть, обратиться к страницам базы данных. Если вам нужно обеспечить быстродействие nbackup, то после восстановления первым делом "разогревайте" кэш Firebird хотя бы чем-то типа Код: plsql 1.
Если вы разработчик, вам не составит труда придумать коллекцию запросов для такого разогрева с участием самых больших по размеру таблиц. Прогоняйте этот свой скрипт через isql -i в молчаливом режиме после восстановления базы. До начала работы nbackup -B 0, надеюсь, у вас будет достаточно времени для этого робота, т.к. работать он может, судя по времени выполнения nbackup -B 0 на неразогретой базе, также несколько часов? Ну или идите экстенсивным путём: размещайте базу на SSD или вообще даже RAM-диске :) На RAM и "греть" не надо ничего - всё и так с максимальным быстродействием ОЗУ работает (минус затраты на время работы дискового драйвера, разумеется). ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 14:13 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
o_v_a, а смысл? Суммарное время прогрева кеша + копирования вряд ли меньше будет Atanas, а зачем вам restore через gbak нужен? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 14:22 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
А он не указал, через сколько после бэкапа/рестора работает нулевой nbackup Если ночью делается рестор, а первый nbackup -B 0 после него только через 6 часов, например, пуркуа бы да ни па, как говорится?.. А если через час, то не поможет. Тогда только ускорение дисковой подсистемы. Для чего он им нужен - да, интересно. Нормально спроектированная система в таком регулярном бэкап/ресторе не нуждается. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 14:24 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
Atanas Rammap показал сегодня что закэшировано около 35% файла БД. А что показывает RamMap в будний день, когда nbackup быстро работает ? И - сколько у вас ОЗУ ? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 14:39 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
Atanas Файловую копию нет возможности использовать. Т.к. у нас еще инкрементные бэкапы каждый час делаются. Тьфу на меня - не подумал :) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 14:41 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
Абстрактная мысль вслух. В отличие от FB2.5, на FB3, по слухам, ускорен инкрементальный бэкап, благодаря тому что на страницах, или в ином специальном месте помечается какие страницы были изменены со времени прошлого nbackup, и можно страницы которые не менялись, вообще не читать. Не может ли быть так что сразу после gbak -c эта информация еще не заполнена, и nbackup приходится инициализировать эту информацию для всех страниц базы, на что и уходит столько времени. ? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 15:33 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
AtanasПопробовал убрать -d off, в итоге nbackup шел более 3 часов, после чего пришлось убить. ооо, найн, этого нельзя было делать. Фишка в том, что Firebird-у кэш ОС помогает, даже суперсерверу. А запуск nbackup с -d on вырубает файловый кэш у БД. Это также можно обнаружить по rammap. И винда начнет кэшировать БД только после окончания работы nbackup. Присоединяюсь к вопросам Влада 22025691 AtanasФайловую копию нет возможности использовать. Т.к. у нас еще инкрементные бэкапы каждый час делаются. что??? Вот эти команды nbackup -D off -B 0 База Бэкап и nbackup -L база copy /b база бэкап nbackup -N база ЭКВИВАЛЕНТНЫ. Чего вы там не можете использовать, если в первом случае нбэкап сам лочит базу, копирует ее, и потом разлочивает? Это та же самая копия -b 0. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 15:35 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
hvlad Atanas Rammap показал сегодня что закэшировано около 35% файла БД. А что показывает RamMap в будний день, когда nbackup быстро работает ? И - сколько у вас ОЗУ ? Нет сегодня будний день. Т.е. сегодня он бы отработал за 15 минут, если бы не убрал -d off Памяти 144Гб ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 16:52 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
kdv, kdvВот эти команды nbackup -D off -B 0 База Бэкап и nbackup -L база copy /b база бэкап nbackup -N база ЭКВИВАЛЕНТНЫ. Чего вы там не можете использовать, если в первом случае нбэкап сам лочит базу, копирует ее, и потом разлочивает? Это та же самая копия -b 0. В мануале про это как-то умолчали. Т.е. имеете ввиду после: kdvnbackup -L база copy /b база бэкап nbackup -N база а затем nbackup -B 1 База Бэкап1 В Бэкап1 попадет только дельта с момента блокировки/разблокировки? Как же тогда таблица RDB$BACKUP_HISTORY? В ней создается запись при -b 0 (-b 1 и т.д.), но не создается запись при -L -N Я думал что именно эта таблица используется для определения того, что лить в дельту n-го уровня... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 17:30 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
Симонов Денис o_v_a, Atanas, а зачем вам restore через gbak нужен? Временными блобами пользуемся часто, база пухнет. В неделю за счет этого до 10 Гб может увеличиться. Gbak с восстановлением ее в чувство приводит. Пробовали не делать еженедельно, увеличивается дальше. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 17:44 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
Atanas hvladЭто после рестора c gbak'ом ? Небось ещё 30-50% занимает файл бекапа ? А что показывает RamMap в будний день, когда nbackup быстро работает ? И - сколько у вас ОЗУ ? Нет сегодня будний день. Т.е. сегодня он бы отработал за 15 минут, если бы не убрал -d off Памяти 144Гб? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 17:52 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
Atanas Как же тогда таблица RDB$BACKUP_HISTORY? В ней создается запись при -b 0 (-b 1 и т.д.), но не создается запись при -L -N Я думал что именно эта таблица используется для определения того, что лить в дельту n-го уровня... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 17:53 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
Atanas Временными блобами пользуемся часто, база пухнет ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 17:54 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
hvlad, На это не обратил внимание, завтра утром скриншот сниму перед выполнением nbackup. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 17:55 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
fraks Не может ли быть так что сразу после gbak -c эта информация еще не заполнена, и nbackup приходится инициализировать эту информацию для всех страниц базы, на что и уходит столько времени. ? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 17:56 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
Atanas На это не обратил внимание, завтра утром скриншот сниму перед выполнением nbackup. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 17:57 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
hvlad Atanas На это не обратил внимание, завтра утром скриншот сниму перед выполнением nbackup. Gbak выполняется каждый день. Но restore'ный вариант мы только по воскресеньям заменяем на боевую БД. В остальные дни отресторенная бд просто уходит в архив. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 18:10 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
hvlad Atanas Временными блобами пользуемся часто, база пухнет 100% нет. Но вероятность высокая. Когда начали html отчеты в процедурах клеить и возвращать мобильным клиентам это стало очень заметно. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 18:13 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
26.11.2019 18:10, Atanas пишет: > Gbak выполняется каждый день. Но restore'ный вариант мы только по > воскресеньям заменяем на боевую БД. зачем? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 18:14 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
Atanas Gbak выполняется каждый день. Но restore'ный вариант мы только по воскресеньям заменяем на боевую БД Рестор на боевой машине выполняется или нет ? Запустите RamMap минимум два раза - перед и после gbak. И ещё раз - перед nbackup, если этот момент сильно после рестора gbak'ом. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 18:31 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
Atanas Когда начали html отчеты в процедурах клеить и возвращать мобильным клиентам Или научить мобильного клиента собирать отчёт из нескольких строк. Вы же на чтении блоба по сети мобильным клиентом тоже время теряете, по идее. Если, конечно, блоб небольшой. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 18:33 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
Atanas 100% нет. Но вероятность высокая. Когда начали html отчеты в процедурах клеить и возвращать мобильным клиентам это стало очень заметно. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 19:36 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
AtanasКак же тогда таблица RDB$BACKUP_HISTORY? В ней создается запись при -b 0 (-b 1 и т.д.), но не создается запись при -L -N ок, это да. Но я приводил пример для оценки скорости копирования базы нбэкапом и copy /b. Раньше они сильно отличались. А если есть -b 1, тогда да, увы, мой вариант не пойдет. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2019, 23:19 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
Запустил rammap 4 по рекомендациям hvlad. В целом картина ясна, базу практически полностью выдавливают из кэша: файл бэкапа, архив бэкапа, восстановленные копии. В результате операций снятия бэкапа (бэкап/восстановление/архивирование) кэш базы (100 Гб) уменьшался с 60-80 Гб до 8-16Гб. Как решать, пока нет ясной картины... Пока предполагаю отключить кэширование для диска, на который складываются эти файлы (файл бэкапа, архив бэкапа, восстановленные копии). ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 11:11 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
Отдельную железку не хотите под бэкапы сделать в таком случае, раз так критично быстродействие? Скармливать туда бэкапы и уж разворачиванием баз пускай оно само там занимается на отдельном экземпляре Firebird SQL ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 11:16 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
o_v_a, +1 это правильно, но может быть дорого. Хотя под резерв можно железяку и подешевле ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 11:36 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
AtanasПока предполагаю отключить кэширование для диска интересно, каким это образом. Кэширование на чтение "для диска" в ОС отключить нельзя, по крайней мере я не помню такой возможности. На запись - можно, но не нужно, потому что будет сильно медленно. Вообще, конечно, странно, что файл бэкапа "вышибает" кэш, в бэкап ведь только запись идет, чтения оттуда нет. Была какая-то шляпа в винде с кэшированием файлов random access, 32бит приложениями и 64бит ОС. Но сейчас-то вроде всё норм. Если бэкап сразу архивируется - тогда да, и читаться будет. Но мне вообще вот эта ваша схема с параллельными бэкапами и нбэкапами не очень понятна. Можно делать нбэкапы на второй комп, там разворачивать, и делать бэкап сколько влезет. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 12:33 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
Atanas Когда начали html отчеты в процедурах клеить и возвращать мобильным клиентам это стало очень заметно. А как вы этот большой BLOB клеите? Надеюсь не с помощью конкатенации || Можно сначала собрать в несколько VARCHAR, а потом с помощью LIST склеить ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 12:44 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
Симонов Денис Atanas Когда начали html отчеты в процедурах клеить и возвращать мобильным клиентам это стало очень заметно. А как вы этот большой BLOB клеите? Надеюсь не с помощью конкатенации || Можно сначала собрать в несколько VARCHAR, а потом с помощью LIST склеить Да, через varchar'ы сначала клеим. Но в большинстве случаев за раз не получается в блоб воткнуть. В планах вариант suspend'ить эти строки из процедуры и клеить уже в сервисе который с мобильными клиентами общается по http. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 22:02 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
kdv AtanasПока предполагаю отключить кэширование для диска интересно, каким это образом. Кэширование на чтение "для диска" в ОС отключить нельзя, по крайней мере я не помню такой возможности. На запись - можно, но не нужно, потому что будет сильно медленно. Вообще, конечно, странно, что файл бэкапа "вышибает" кэш, в бэкап ведь только запись идет, чтения оттуда нет. Была какая-то шляпа в винде с кэшированием файлов random access, 32бит приложениями и 64бит ОС. Но сейчас-то вроде всё норм. Если бэкап сразу архивируется - тогда да, и читаться будет. Но мне вообще вот эта ваша схема с параллельными бэкапами и нбэкапами не очень понятна. Можно делать нбэкапы на второй комп, там разворачивать, и делать бэкап сколько влезет. На счет кэширования чтения я недосмотрел. Пока еще в процессе изучения. Вариант что другая машина будет бэкапами заниматься все больше нравится... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2019, 22:37 |
|
Тормоза Nbackup после Restore
|
|||
---|---|---|---|
#18+
Atanas В планах вариант suspend'ить эти строки из процедуры и клеить уже в сервисе который с мобильными клиентами общается по http. В планах должен быть полный вынос логики представления из БД, пусть этим занимается сервис, это как раз его задача, нех нагружать БД не профильной работой. Маленький бонус - в сервисе это можно сделать более эффективно. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2019, 06:51 |
|
|
start [/forum/topic.php?all=1&fid=40&tid=1560505]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
150ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 311ms |
total: | 561ms |
0 / 0 |