У меня есть персональный файловый сервер, построенный на платформе AMD X2, с гигабитным сетевым адаптером Intel CT, работающий под управлением debian 6.0.
Я построил raid5 (2To x 3), поделился samba 3.5.6
С моего настольного компьютера (windows7) при копировании больших файлов иногда скорость загрузки / выгрузки стабильна около 55/60 МБ / с, иногда она действительно нестабильна, падает до 1 или 2 МБ / с, с максимумом 20/30 МБ / с, действительно нестабильно.
Я тестировал также с использованием акций samba на рейде и на основном диске, результаты аналогичны.
Я запустил на сервере команду hdparm -tT:
/dev/sda:
Timing cached reads: 4698 MB in 2.00 seconds = 2349.11 MB/sec
Timing buffered disk reads: 374 MB in 3.00 seconds = 124.49 MB/sec
/dev/md0:
Timing cached reads: 4814 MB in 2.00 seconds = 2407.76 MB/sec
Timing buffered disk reads: 640 MB in 3.00 seconds = 213.02 MB/sec
Кроме того, я использовал iperf для проверки пропускной способности между двумя компьютерами:
iperf.exe -c pacem -n 1073741824 -fm
------------------------------------------------------------
Client connecting to pacem, TCP port 5001
TCP window size: 0.06 MByte (default)
------------------------------------------------------------
[ 3] local 10.0.0.145 port 50913 connected with 10.0.0.37 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-68.7 sec 1024 MBytes 125 Mbits/sec
Как я могу эффективно найти причину проблемы?
Спасибо за прочтение!
Проблемы, которые вы описываете, скорее всего, вызваны тремя факторами:
socket options
в [global]
раздел вашего файла smb.conf. Хорошая отправная точка для начала:
socket options = IPTOS_THROUGHPUT TCP_NODELAY SO_KEEPALIVE
Посмотрите, как это работает; Обычно этого достаточно, чтобы избавиться от проблем с производительностью Samba. Чтобы узнать о других вариантах, посетите страницу Samba.; особенно SO_SNDBUF и SO_RCVBUF. Неправильная установка этих значений отрицательно скажется на производительности; это может занять некоторое время методом проб и ошибок.
Что еще хуже, размер файлов влияет на Samba. У маленьких файлов больше накладных расходов. И если вы настроите параметры сокета для массовой передачи, вы увидите, что скорость файлов с небольшой скоростью ухудшится. Точно так же настройка крошечных файлов ухудшает передачу больших файлов. В идеале вы поймете, что вы передаете чаще всего или что для вас больше всего отличает (медленная работа на 4-гигабайтном DVD ISO обычно более значима, чем медленная на 1-килобайтном файле).
Настройки DNS и VFS. Если у вас неправильно настроено прямое и обратное сопоставление DNS, вы захотите отключить поиск DNS Samba (dns proxy = no
и hostname lookups = no
). Это наиболее очевидно, когда вы впервые подключаетесь к общему ресурсу Samba (если это занимает больше 5 секунд, это проблема).
Существует множество VFS и связанных параметров, которые можно настроить в разделе Samba [global]. Если они ошибаются, Samba будет иметь дело с ошибками при открытии / сохранении каждого файла. Параметры, подходящие для вашего сервера, будут зависеть от его файловой системы, безопасности и некоторых функций, которые вы хотите включить. На этот вопрос нет быстрого ответа, но в целом он имеет наименьшее значение.