У меня было 12.10 машин, работающих на EC2, и они были подготовлены с использованием скриптов, построенных на:
Теперь я заменил большинство из моих машин 12.10 на машину 14.04 и обнаружил, что мои сценарии инициализации теперь запредельно медленно работают при выполнении тех же удаленных команд.
Примером использования удаленной команды является:
ssh -o StrictHostKeyChecking=no -o BatchMode=yes -p22 -i /Users/.ssh/ec2_key.pem ubuntu@ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com "sudo /etc/init.d/redis-server status"
Это будет выполняться очень быстро на моих машинах 12.10, максимальная задержка 3 секунды, однако та же самая команда на машинах 14.04 может занять до 60 секунд.
Кто-нибудь знает, в чем проблема?
Наблюдение за машиной через htop при выполнении удаленной команды показывает, что проблема как-то связана с сообщением дня:
Гм, я думаю, что Вы найдете, что Ваш сервер инициировал сообщение дневного обновления после установленного соединения SSH.
Можно запустить скрипты в/etc/update-motd.d и видеть, который работает медленно и соглашение с медленным сценарием однако, Вы желаете.
Или можно отключить это автоматическое обновление путем комментирования следующих строк в/etc/pam.d/sshd файле
session optional pam_motd.so motd=/run/motd.dynamic noupdate
session optional pam_motd.so # [1]