Как минимизировать влияние бэкап-скрипта на интенсивность вв

Ответить
admin
Администратор
Сообщения: 199
Зарегистрирован: 05 янв 2011, 04:19

Как минимизировать влияние бэкап-скрипта на интенсивность вв

Сообщение admin »

Задача сделать так, чтобы выполнение скрипта для бэкапа не сказывалось на
производительности приложений
с интенсивными дисковыми операциями.
Решение - понижение приоритета скрипта в планировщике ввода/вывода CFQ, который
включен в Linux ядро,
начиная с версии 2.6.13, и используется по умолчанию начиная с 2.6.18.

Проверяем, что активный планировщик у нас CFQ:

Код: Выделить всё

for d in /sys/block/sd[a-z]/queue/scheduler; do echo "$d => $(cat $d)" ; done

Видим:

Код: Выделить всё

/sys/block/sda/queue/scheduler => noop anticipatory deadline [cfq]


Запускаем скрипт бэкапа с пониженным приоритетом:

Код: Выделить всё

   nice -n 19 ionice -c2 -n7 backup.sh


утилитой nice с самым низким приоритетом вызываем утилиту ionice cо 2 классом планировки (
1 - real time, 2 - нормальный режим, 3 - работа только в моменты простоя (idle))
и самым низким уровнем приоритета (7).

Если процесс все равно мешает, можем на лету перевести его в idle режим:

Код: Выделить всё

 ionice -c3 -p 1004


или изменить приоритет планировщика:

Код: Выделить всё

 renice 19 -p 1004


Где 1004 - PID процесса.
Ответить