powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Тормоза Nbackup после Restore
34 сообщений из 34, показаны все 2 страниц
Тормоза Nbackup после Restore
    #39893512
Atanas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

База FB 3, размер 100Гб.
Ежедневно утром делается nbackup 0 уровня.
nbackup -D off -B 0 База Бэкап
Времени занимает 15 минут.
По воскресеньям делаем backup/restore gbak'ом.
После restore nbackup работает 1.5 часа. Настройки nbackup не отличаются для обычного дня/воскресенья.
Подскажите куда копать?
...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39893520
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atanas,

-d off - это файловый кэш включен, а после рестора БД может в файловом кэше ОС отсутствовать.
Если винда - посмотрите rammap, присутствует БД в файловом кэше, и в каком объеме. Как после рестора, так и утром.

ради эксперимента можно заменить
nbackup -D off -B 0 База Бэкап

на
nbackup -L база
copy /b база бэкап
nbackup -N база

ну и смотреть на скорость дискового ввода-вывод во всех случаях.
...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39894402
Atanas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv
Atanas,

-d off - это файловый кэш включен, а после рестора БД может в файловом кэше ОС отсутствовать.
Если винда - посмотрите rammap, присутствует БД в файловом кэше, и в каком объеме. Как после рестора, так и утром.

ради эксперимента можно заменить
nbackup -D off -B 0 База Бэкап

на
nbackup -L база
copy /b база бэкап
nbackup -N база

ну и смотреть на скорость дискового ввода-вывод во всех случаях.


Да, винда. Rammap показал сегодня что закэшировано около 35% файла БД.
Попробовал убрать -d off, в итоге nbackup шел более 3 часов, после чего пришлось убить. Судя по размеру файла бэкапа должен был закончить за 4 часа.
Файловую копию нет возможности использовать. Т.к. у нас еще инкрементные бэкапы каждый час делаются.
Может есть возможность винду заставить закэшировать файл бд после рестора?
...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39894482
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для того, чтоб что-то закэшировать, надо это "что-то" зачитать. То есть, обратиться к страницам базы данных.
Если вам нужно обеспечить быстродействие nbackup, то после восстановления первым делом "разогревайте" кэш Firebird хотя бы чем-то типа
Код: plsql
1.
select * from table1


Если вы разработчик, вам не составит труда придумать коллекцию запросов для такого разогрева с участием самых больших по размеру таблиц. Прогоняйте этот свой скрипт через isql -i в молчаливом режиме после восстановления базы.
До начала работы nbackup -B 0, надеюсь, у вас будет достаточно времени для этого робота, т.к. работать он может, судя по времени выполнения nbackup -B 0 на неразогретой базе, также несколько часов?

Ну или идите экстенсивным путём: размещайте базу на SSD или вообще даже RAM-диске :) На RAM и "греть" не надо ничего - всё и так с максимальным быстродействием ОЗУ работает (минус затраты на время работы дискового драйвера, разумеется).
...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39894490
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_a,

а смысл? Суммарное время прогрева кеша + копирования вряд ли меньше будет

Atanas,

а зачем вам restore через gbak нужен?
...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39894492
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А он не указал, через сколько после бэкапа/рестора работает нулевой nbackup
Если ночью делается рестор, а первый nbackup -B 0 после него только через 6 часов, например, пуркуа бы да ни па, как говорится?..

А если через час, то не поможет. Тогда только ускорение дисковой подсистемы.

Для чего он им нужен - да, интересно. Нормально спроектированная система в таком регулярном бэкап/ресторе не нуждается.
...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39894506
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atanas
Rammap показал сегодня что закэшировано около 35% файла БД.
Это после рестора c gbak'ом ? Небось ещё 30-50% занимает файл бекапа ?
А что показывает RamMap в будний день, когда nbackup быстро работает ?
И - сколько у вас ОЗУ ?
...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39894508
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atanas
Файловую копию нет возможности использовать. Т.к. у нас еще инкрементные бэкапы каждый час делаются.
Файловой копии надо делать "nbackup -f". Других отличий от "nbackup -b 0" - не имеется.
Тьфу на меня - не подумал :)
...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39894547
fraks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Абстрактная мысль вслух.

В отличие от FB2.5, на FB3, по слухам, ускорен инкрементальный бэкап, благодаря тому что на страницах, или в ином специальном месте помечается какие страницы были изменены со времени прошлого nbackup, и можно страницы которые не менялись, вообще не читать.

Не может ли быть так что сразу после gbak -c эта информация еще не заполнена, и nbackup приходится инициализировать эту информацию для всех страниц базы, на что и уходит столько времени.
?
...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39894550
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39894580
Atanas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad
Atanas
Rammap показал сегодня что закэшировано около 35% файла БД.
Это после рестора c gbak'ом ? Небось ещё 30-50% занимает файл бекапа ?
А что показывает RamMap в будний день, когда nbackup быстро работает ?
И - сколько у вас ОЗУ ?


Нет сегодня будний день. Т.е. сегодня он бы отработал за 15 минут, если бы не убрал -d off
Памяти 144Гб
...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39894598
Atanas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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-го уровня...
...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39894618
Atanas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис
o_v_a,
Atanas,

а зачем вам restore через gbak нужен?


Временными блобами пользуемся часто, база пухнет. В неделю за счет этого до 10 Гб может увеличиться. Gbak с восстановлением ее в чувство приводит. Пробовали не делать еженедельно, увеличивается дальше.
...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39894625
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atanas
hvladЭто после рестора c gbak'ом ? Небось ещё 30-50% занимает файл бекапа ?
А что показывает RamMap в будний день, когда nbackup быстро работает ?
И - сколько у вас ОЗУ ?


Нет сегодня будний день. Т.е. сегодня он бы отработал за 15 минут, если бы не убрал -d off
Памяти 144Гб?
...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39894627
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atanas
Как же тогда таблица RDB$BACKUP_HISTORY?
В ней создается запись при -b 0 (-b 1 и т.д.), но не создается запись при -L -N

Я думал что именно эта таблица используется для определения того, что лить в дельту n-го уровня...
Так и есть, KDV ошибается
...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39894628
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atanas
Временными блобами пользуемся часто, база пухнет
И есть 100% уверенность, что дело в блобах ? Откуда она ?
...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39894629
Atanas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad,

На это не обратил внимание, завтра утром скриншот сниму перед выполнением nbackup.
...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39894630
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fraks
Не может ли быть так что сразу после gbak -c эта информация еще не заполнена, и nbackup приходится инициализировать эту информацию для всех страниц базы, на что и уходит столько времени.
?
Не может.
...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39894632
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atanas
На это не обратил внимание, завтра утром скриншот сниму перед выполнением nbackup.
Завтра не воскресенье, gbak не будет выполняться - не так ли ?
...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39894645
Atanas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad
Atanas
На это не обратил внимание, завтра утром скриншот сниму перед выполнением nbackup.
Завтра не воскресенье, gbak не будет выполняться - не так ли ?


Gbak выполняется каждый день. Но restore'ный вариант мы только по воскресеньям заменяем на боевую БД. В остальные дни отресторенная бд просто уходит в архив.
...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39894647
Atanas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad
Atanas
Временными блобами пользуемся часто, база пухнет
И есть 100% уверенность, что дело в блобах ? Откуда она ?


100% нет. Но вероятность высокая.
Когда начали html отчеты в процедурах клеить и возвращать мобильным клиентам это стало очень заметно.
...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39894649
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
26.11.2019 18:10, Atanas пишет:
> Gbak выполняется каждый день. Но restore'ный вариант мы только по
> воскресеньям заменяем на боевую БД.

зачем?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39894653
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atanas
Gbak выполняется каждый день. Но restore'ный вариант мы только по воскресеньям заменяем на боевую БД
Начинаются выясняться подробности.
Рестор на боевой машине выполняется или нет ?
Запустите RamMap минимум два раза - перед и после gbak.
И ещё раз - перед nbackup, если этот момент сильно после рестора gbak'ом.
...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39894655
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atanas
Когда начали html отчеты в процедурах клеить и возвращать мобильным клиентам
Они сильно больше 32КБ ? Их нельзя в varchar клеить ?
Или научить мобильного клиента собирать отчёт из нескольких строк.
Вы же на чтении блоба по сети мобильным клиентом тоже время теряете, по идее.
Если, конечно, блоб небольшой.
...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39894691
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atanas
100% нет. Но вероятность высокая.
Когда начали html отчеты в процедурах клеить и возвращать мобильным клиентам это стало очень заметно.


...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39894776
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AtanasКак же тогда таблица RDB$BACKUP_HISTORY?
В ней создается запись при -b 0 (-b 1 и т.д.), но не создается запись при -L -N
ок, это да. Но я приводил пример для оценки скорости копирования базы нбэкапом и copy /b.
Раньше они сильно отличались.

А если есть -b 1, тогда да, увы, мой вариант не пойдет.
...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39894918
Atanas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Запустил rammap 4 по рекомендациям hvlad.
В целом картина ясна, базу практически полностью выдавливают из кэша: файл бэкапа, архив бэкапа, восстановленные копии.
В результате операций снятия бэкапа (бэкап/восстановление/архивирование) кэш базы (100 Гб) уменьшался с 60-80 Гб до 8-16Гб.

Как решать, пока нет ясной картины...
Пока предполагаю отключить кэширование для диска, на который складываются эти файлы (файл бэкапа, архив бэкапа, восстановленные копии).
...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39894925
Фотография o_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отдельную железку не хотите под бэкапы сделать в таком случае, раз так критично быстродействие?
Скармливать туда бэкапы и уж разворачиванием баз пускай оно само там занимается на отдельном экземпляре Firebird SQL
...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39894946
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
o_v_a,

+1
это правильно, но может быть дорого. Хотя под резерв можно железяку и подешевле
...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39894984
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AtanasПока предполагаю отключить кэширование для диска
интересно, каким это образом. Кэширование на чтение "для диска" в ОС отключить нельзя, по крайней мере я не помню такой возможности. На запись - можно, но не нужно, потому что будет сильно медленно.

Вообще, конечно, странно, что файл бэкапа "вышибает" кэш, в бэкап ведь только запись идет, чтения оттуда нет. Была какая-то шляпа в винде с кэшированием файлов random access, 32бит приложениями и 64бит ОС.
Но сейчас-то вроде всё норм. Если бэкап сразу архивируется - тогда да, и читаться будет.

Но мне вообще вот эта ваша схема с параллельными бэкапами и нбэкапами не очень понятна. Можно делать нбэкапы на второй комп, там разворачивать, и делать бэкап сколько влезет.
...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39894996
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atanas

Когда начали html отчеты в процедурах клеить и возвращать мобильным клиентам это стало очень заметно.


А как вы этот большой BLOB клеите? Надеюсь не с помощью конкатенации ||
Можно сначала собрать в несколько VARCHAR, а потом с помощью LIST склеить
...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39895273
Atanas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис
Atanas

Когда начали html отчеты в процедурах клеить и возвращать мобильным клиентам это стало очень заметно.


А как вы этот большой BLOB клеите? Надеюсь не с помощью конкатенации ||
Можно сначала собрать в несколько VARCHAR, а потом с помощью LIST склеить


Да, через varchar'ы сначала клеим. Но в большинстве случаев за раз не получается в блоб воткнуть.
В планах вариант suspend'ить эти строки из процедуры и клеить уже в сервисе который с мобильными клиентами общается по http.
...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39895282
Atanas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv
AtanasПока предполагаю отключить кэширование для диска

интересно, каким это образом. Кэширование на чтение "для диска" в ОС отключить нельзя, по крайней мере я не помню такой возможности. На запись - можно, но не нужно, потому что будет сильно медленно.

Вообще, конечно, странно, что файл бэкапа "вышибает" кэш, в бэкап ведь только запись идет, чтения оттуда нет. Была какая-то шляпа в винде с кэшированием файлов random access, 32бит приложениями и 64бит ОС.
Но сейчас-то вроде всё норм. Если бэкап сразу архивируется - тогда да, и читаться будет.

Но мне вообще вот эта ваша схема с параллельными бэкапами и нбэкапами не очень понятна. Можно делать нбэкапы на второй комп, там разворачивать, и делать бэкап сколько влезет.

На счет кэширования чтения я недосмотрел. Пока еще в процессе изучения.
Вариант что другая машина будет бэкапами заниматься все больше нравится...
...
Рейтинг: 0 / 0
Тормоза Nbackup после Restore
    #39895335
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atanas
В планах вариант suspend'ить эти строки из процедуры и клеить уже в сервисе который с мобильными клиентами общается по http.

В планах должен быть полный вынос логики представления из БД, пусть этим занимается сервис, это как раз его задача, нех нагружать БД не профильной работой. Маленький бонус - в сервисе это можно сделать более эффективно.
...
Рейтинг: 0 / 0
34 сообщений из 34, показаны все 2 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Тормоза Nbackup после Restore
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]