Этот вопрос может быть слишком широким, но я ищу методологию для определения узкого места в скорости передачи. Я использую rsync для передачи файлов между двумя устройствами NAS (точнее, DNS-323), которые находятся в разных местах. Я туннелирую через SSH. Скорость передачи данных в среднем составляет 320-370 кБ / с в соответствии с Rsync.
Я знаю, что здесь задействованы тонны переменных, поэтому мне интересно, каким должен быть мой процесс определения того, почему передача происходит так медленно. Вот некоторые важные детали.
- Скорость загрузки через Интернет для NAS, который загружает, составляет ~ 3,5 Мбит / с
- Скорость загрузки через Интернет для NAS, который загружается, составляет ~ 20 Мбит / с
- Загрузка ЦП (по данным
top
) при передаче для обоих NAS составляет ~ 40-45% - Использование памяти (согласно
top
) для процесса rsync на обоих NAS составляет ~ 160-190% (не уверен, что это вообще означает) - Я использую шифр AES
- Я использую патчи OpenSSH HPN на обоих NAS
Моим первоначальным предположением было то, что издержки шифрования были узким местом из-за слабых процессоров на этих устройствах. Но если бы это было так, разве я не вижу более высокую загрузку процессора? Процесс ssh на обеих машинах показывает только ~ 15% загрузки процессора.
Следующим моим уклоном было то, что скорость передачи ввода / вывода с жесткого диска ограничивает возможности, но NAS могут читать / писать значительно быстрее при локальной передаче, так что этого не может быть.
Что еще может быть причиной медленной передачи? Есть ли какой-то научный способ определить узкое место?