Я пытаюсь запустить Rsync, чтобы переместить статические файлы с нашего выделенного сервера на наш новый облачный сервер.
Следующая команда работает, но при ее запуске останавливает все обслуживаемые веб-страницы.
rsync -azP --delete -e 'ssh -p 1234'
/var/www/vhosts/example.com/httpdocs/images/20*
user@server:/var/www/vhosts/example.com/httpdocs/images/.
Итак, я пробовал использовать nice
и ionice
для снижения приоритета CPI и ввода-вывода и использования другого шифра поверх SSH - я нашел сообщения, предполагающие, что это снизит нагрузку на сервер:
nice -n19 ionice -c2 -n7 rsync -azP --delete --rsh="ssh -c arcfour" -e 'ssh -p 1234'
/var/www/vhosts/example.com/httpdocs/images/20*
user@server:/var/www/vhosts/example.com/httpdocs/images/.
Но это не имеет значения, как только скрипт запускает страницы на http://example.com прекратить обслуживание, и как только я использую CTRL + C, чтобы убить команду Rsync, страницы снова начинают обслуживать.
Я мог бы поместить это в задание crontab для запуска, когда трафик сайта низкий, но я хотел бы иметь возможность синхронизировать серверы в течение дня.
Есть ли способ заставить Rsync перестать блокировать apache или есть другой способ передачи данных?
Я также пробовал сделать tar.gz
архив и передача через scp
, но размер файла составляет 2,5 ГБ, и у меня такая же проблема.
Мы будем перемещать весь наш статический контент на Amazon S3 - но это гораздо более сложная задача, и я надеюсь, что смогу просто переместить статический контент тем временем, чтобы убить старую машину.
Получите более быстрые диски. Rsync не блокирует apache. Дефицит io операций делать.
Я не ожидал, что Apache перестанет обслуживать во время передачи. Я могу придумать четыре вещи, которые могут замедлить работу Apache.
--bwlimit
при запуске rsync.top
контролировать. Использовать nice
или renice
чтобы снизить приоритет.ionice
с приоритетом простоя. top
может показать некоторые проблемы.Для начальной передачи я бы подумал об использовании tar для передачи содержимого. Затем вы можете использовать rsync
подобрать любые изменения.
Как уже было отмечено, рассмотрите возможность перемонтирования с noatime
или relatime
как обновление atime
может сильно нагружать диски.
Я бы подумал об использовании sar
для мониторинга системы, чтобы увидеть, какой ресурс является узким местом. Он может контролировать все ваши ресурсы. Сохраните данные или выведите их в файл, чтобы вы могли изучить их на досуге.