Медленная работа nbackup на виртуальном сервере

rector
Дата: 14.05.2012 18:48:28
Добрый день
Есть следующая кофигурация:
CPU x5675 3,07 GHz (2 ядра), 8Gb RAM
Windows Server 2008 R2,
Firebird 64 bit v 2.1.4.18393,
виртуализация VMWare,
база данных размером 70 Гб.

Сервер подключен к СХД, так же в целях эксперимента подключили к нему один ССД диск.

Скорость работы nbackup всеравно оставляет желать лучшего.
1) бэкап нулевого уровня делается за 15 минут, что составляет: (70 Гб /15 минут) *(1024 Мбайта)/60с = 79,6 Мбайт/с
Скорость вроде бы и приличная, но считаю, что для такой конфигурации сервера/СХД она как минимум в 3 раза меньше реально возможной. Такие выводы я сделал из того, что если сделать бэкап простым копированием
alter database begin backup
копируем файл БД
alter database end backup

то скорость достигает 250-270 Мб/с
Логично было бы (да и просто очень хотелось бы), чтоб бэкап нулевого уровня через nbackup делался с такой же скоростью, ведь он по сути ничто иное, как обычное копирование файла (+ сжатие)

2) В добавок ко всему вышеописанному, бэкап 1 (а так же и 2 ) уровня делается дольше (около 20 минут), чем бэкап уровня 0. А это уж совсем не удовлетворительный показатель.

Кроме того изначально на сервере забивался файловый кеш при ресторе базы, но это полечили путём запроса у МС сервиса DynCache и установки порога в 2 Гб для файлового кэша.

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

в мануале к nbackup разработчики утвержадют, что:
http://www.firebirdsql.org/manual/nbackup-overview.html
Advantages of nbackup

Both modes: high speed (as high as hardware and OS will allow), because nbackup doesn't look at the actual data. In backup mode the contents are written more or less blindly to the backup file.



Хотелось бы добиться хотя бы похожей производительности, потому как появилась необходимость делать бекапы с регулярностью каждые минут 10.
Может кто знает какой то тюнинг для ОС или nbackup необходим, чтоб ускорить процесс ?

Спасибо.
Dimitry Sibiryakov
Дата: 14.05.2012 20:11:43

А какое слово из ответов на ibase.ru ты не понял?..

Posted via ActualForum NNTP Server 1.5

kdv
Дата: 14.05.2012 20:39:09
а там про виртуалки ничего нет. Мне вот тоже интересно, как nbackup может работать так медленно относительно простого копирования. Явно где-то попадос на "виртуальные" тормоза.
kdv
Дата: 14.05.2012 21:01:59
вопросы:
1. ОС сервера?
2. ОС виртуалки, как я понимаю, Windows Server 2008 R2? или это п. 1 ?
3. где расположен виртуальный диск с базой и nbackup - на схд или ssd?
4. физически база и nbackup где находятся - на дисках виртуалки, или на внешних шарах, подключенных к виртуалке? На одном и том же, или на разных?

по п.3 и 4 - скорость копирования 250-270 мб в секунду достижима на хорошем raid без виртуалки. Внутри виртуалки это скорее файловый кэш.
Повторное выполнение nbackup выдает те же 15 минут?

rector
2) В добавок ко всему вышеописанному, бэкап 1 (а так же и 2 ) уровня делается дольше (около 20 минут), чем бэкап уровня 0. А это уж совсем не удовлетворительный показатель.

это совсем странно, т.к. для уровней выше 0 чтений столько же, а вот записи много меньше, чем уровень 0. Какова загрузка процессора в виртуалке при выполнении nbackup? каков процент kernel times относительно этого?
Dimitry Sibiryakov
Дата: 14.05.2012 21:19:30

kdv
там про виртуалки ничего нет.

Не тормози: http://www.ibaseforum.ru/viewtopic.php?f=8&t=5549

Posted via ActualForum NNTP Server 1.5

kdv
Дата: 14.05.2012 21:28:31
DS
Не тормози:

так это один и тот же человек.
rector
Дата: 14.05.2012 21:29:08
Dimitry Sibiryakov,
на Ibase.ru я не задавал вопрос, скорее всего мой напарник там описал проблему =)
Просто бьёмся уже не один день с ней

kdv,

1,2) ОС сервера, где крутится база - Windows Server 2008 R2
3,4) Базу пробовал располагать на различных дисках - и на СХД и на ССД.
Фактически ССД так же подключены к хранилищу, просто выделены в отдельный пул для быстрых дисков.
Остальные диски - SAS в хранилище.
По сути, что база на ССД, что на САС - разницы в скорости особой нет.

Повторный запуск nbackup даже сразу после завершения текущего процесса прироста в скорости не даёт.
Загрузка процессора в пределах допустимого, точно сейчас не скажу, но то, что процесс не упирается в проц, это точно.

kernel times не смотрел, посмотреть смогу только завтра на работе.

kdv
это совсем странно, т.к. для уровней выше 0 чтений столько же, а вот записи много меньше, чем уровень 0.


возможно ли, что nbackup каким то образом упирается в чтение ?
Можно конечно по счетчикам посмотреть на чтения в момент бэкапа и простого копирования файла. Но тогда вопрос встанет по другому - что может ему мешать?

Уже были мысли делать бэкап базы вручную, переливать на дополнительный сервер и там с этой копии делать потом бэкап 1 уровня, дабы не нагружать базу в рабочем режиме долгими бэкапами =)
Но это уж такой костыль.
kdv
Дата: 14.05.2012 21:35:33
rector
3,4) Базу пробовал располагать на различных дисках - и на СХД и на ССД.

у вас как-то все плохо с записью результатов. Любые данные при тестировании нужно записывать. А так все приходится клещами вытаскивать.

rector
1,2) ОС сервера, где крутится база - Windows Server 2008 R2

каков результат nbackup и скорости копирования НЕ под виртуалкой, на голых физических дисках?
если у вас проблемы с виртуалкой, сравните операции с физикой, найдете причину проблемы. Мне странно, что у вас тест происходит как-то не так.

rector
По сути, что база на ССД, что на САС - разницы в скорости особой нет.

ок, замнем.

rector
Загрузка процессора в пределах допустимого, точно сейчас не скажу, но то, что процесс не упирается в проц, это точно.

сравнивали загрузку проца при nbackup на "голой ОС" и в виртуалке?

rector
возможно ли, что nbackup каким то образом упирается в чтение ?

возможно, что виртуализация в данном случае образует некое бутылочное горло, которое проявляется вот таким образом. Виртуалка - это не чистая ОС, т.к. ввод-вывод виртуализируется с неизвестным результатом, зависящим от типа виртуальной машины.
Dimitry Sibiryakov
Дата: 14.05.2012 21:36:52

rector
тогда вопрос встанет по другому - что может ему мешать?

Несовместимость между виртуальным железом VMWare и драйверами гостевой Windows. Прочитай
уже топик по ссылке выше.

Posted via ActualForum NNTP Server 1.5

kdv
Дата: 14.05.2012 21:44:25
в общем, вердикт:
1. сравнивать виртуалку неясно с чем не имеет смысла.
2. для понимания проблем с виртуалкой нужно сравнить ее с голым железом, на котором она крутится.
3. использовать виртуалку с 2мя ядрами, для ~50 пользователей на классике, да еще на базе в 70 гиг - весьма странно. Могу добавить, что если процессы классика будут по 150мб, то для 50-ти пользователей это будет 7.5 гиг. И придется виртуалке увеличивать память.
4. валить все на один storage - не очень разумно