Я запускаю необработанную блочную копию одного экземпляра ec2 в другой экземпляр ec2 через локальное соединение ssh, используя большой размер блока 16 МБ.

ssh -i ~/.ssh/id_rsa ubuntu@10.0.59.92 'sudo dd if=/dev/xvda1 bs=16M' | dd of=./monolithic.image.raw

Когда он начинается, я получаю более 700 Мбит / с ... Очень хорошо, но внезапно, примерно через 30 секунд после начала копирования, оно резко замедляется и сводится к небольшим потертостям / блокам данных:

Есть идеи почему? Любые идеи, как улучшить пропускную способность сети и поддерживать ее согласованность?

1 ответ1

1

Использование ssh для этого, как известно, ужасно, если только вы не используете пользовательскую сборку ssh и sshd, такую как HPN-SSH, которая поддерживает шифрование потока данных между несколькими ядрами ... В противном случае вы, вероятно, обнаружите, что одно ядро ЦП максимально загружено в одной системе другого. Проверьте с помощью "top" или "htop". Последнее сделает проблему очевидной.

Если экземпляр относится к классу t2, то со временем производительность будет ухудшаться, поскольку все эти издержки шифрования истощают кредитный баланс вашего процессора. Проверьте это тоже, хотя кажется маловероятным, что ухудшение начнется так быстро - истощение кредитов ЦП из-за высокого начального начального баланса занимает несколько часов.

Также возможно, что способствующим фактором является то, что ваш исходный объем никогда не разогревался должным образом. Это особенно верно, если исходный том был когда-то восстановлен из снимка.

Говоря о снимках, конечно, снимок EBS был бы самым простым способом сделать блок-копию.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .