CyberAP
@CyberAP
Фронтенд разработчик

Как увеличить скорость передачи данных через FTP?

Ситуация такая: есть NAS на котором запущен FTP-сервер, он подключён к сети 1Гбит Ethernet. В синтетических тестах (Lan Speed Test) и том же iperf скорость передачи близкая к теоретически максимальной (960Мбит/с). А вот при фактическом копировании/записи файлов скорость ограничена 10 МБ/с. В чём могут быть причины такой низкой скорости и как их устранить?

UPDATE: По поводу скорости диска: www.youtube.com/watch?v=BD5H1CjmgZY
Бенчмарки выдают 60 МБ/с. В других обзорах почти тоже самое.

UPDATE 2: Локальный тест скорости чтения выдал:

sudo hdparm -Tt /dev/sda

/dev/sda:
 Timing cached reads:   488 MB in  2.00 seconds = 243.85 MB/sec
 Timing buffered disk reads: 258 MB in  3.00 seconds =  85.98 MB/sec


Запись:

dd if=/dev/zero of=/tmp/output bs=8k count=10k; rm -f /tmp/output
10240+0 records in
10240+0 records out
83886080 bytes (84 MB) copied, 1.25412 s, 66.9 MB/s


Спецификации машинки: mybookworld.wikidot.com/forum/t-768658/wd-my-cloud...

Update 3: настройки FTP машинки.

spoiler
ftpd_banner=Welcome to WD My Cloud
listen=yes
listen_port=21
accept_timeout=60
connect_timeout=60
data_connection_timeout=300
max_clients=0
max_per_ip=20
xferlog_enable=YES
hide_ids=YES
dirlist_enable=YES
download_enable=YES
use_localtime=YES
write_enable=YES
file_open_mode=0755
local_enable=YES
local_umask=02
local_max_rate=0
anon_root=/nfs
local_root=/nfs
check_shell=NO
chroot_local_user=YES
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/user_list
vsftpd_log_file=/var/log/vsftpd.log
anonymous_enable=NO
anon_mkdir_write_enable=NO
anon_upload_enable=NO
anon_other_write_enable=NO
no_anon_password=YES
anon_max_rate=0
anon_umask=077
#share_acl_enable=YES
pasv_enable=YES
pasv_promiscuous=YES
pasv_min_port=5000
pasv_max_port=5099

  • Вопрос задан
  • 23861 просмотр
Решения вопроса 1
CyberAP
@CyberAP Автор вопроса
Фронтенд разработчик
Всё решилось очень просто: переустановкой ОС у NAS. Перешёл с ужасной заводской от WD на OMV и теперь всё летает.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
Jump
@Jump
Системный администратор со стажем.
есть NAS на котором запущен FTP-сервер, он подключён к сети 1Гбит Ethernet. В синтетических тестах (Lan Speed Test) и том же iperf скорость передачи близкая к теоретически максимальной (960МБ/с).
Вы где то сильно ошибаетесь. Такое невозможно ни физически, ни теоретически.
При подключении к сети 1Гбит Ethernet, максимально возможная скорость передачи файлов равна 1000/8=125МБ/с
Чтобы обеспечить скорость в 960МБ/с вам нужен линк на 10Гбит как минимум.

А вот при фактическом копировании/записи файлов скорость ограничена 10 МБ/с.
Фактическая скорость будет в основном ограничена скоростью дисков, так что вполне нормальная ожидаемая скорость для бюджетного NAS'а.
Если хотите повысить скорость - ставьте более быстрые диски, распределяйте нагрузку между дисками, и.т.д.

Т.е для вас максимальная скорость передачи ограничена скоростью 125МБ/с
А реальная будет зависеть от двух вещей -
  • Производительностью дисковой подсистемы. Для среднестатического диска это примерно 1-100МБ/с в зависимости от нагрузки
  • Производительностью ОС файлового хранилища. Зависит от скорости работы процессора, наличия памяти и настроек.
Ответ написан
opium
@opium
Просто люблю качественно работать
10 мегабайт в секунду это примерно 800 мегабит в секунду в целом довольно близко к правде.
Ответ написан
@MinamotoSoft
10мегабайт/сек это чуть меньше 100мбит. Не путайте человека.
Проблема скорее не в физике компа а в физике протоколов. Кстати, какой пинг от клиента до сервера?.
ФТП работает в один поток, следовательно, пока предыдущий пакет не получен - следующий не передается. Справедливо для аплоада. Дла даунлоад - попробуйте запустить какой нибуть даунлоадменеджер, который может один файл загружать в несколько потоков. Есть подозрение, что в таком режиме получите почти потолок фашей "физики".
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы