Кросспост из
блога автора. Комментировать лучше
там, но можно и тут
Продолжаем развлекаться с 10G. Сначала картинка, чтобы было веселее. Это копирование с локального диска на "NAS"
Под катом - как она получена (и почему NAS в кавычках)
Рассказываю по порядку.
У меня в NAS стоит 4 штуки медленных WD Caviar Green в RAIDZ (и еще парочка - в другом массиве), ожидать от них, что они смогут насытить 10G или, хотя бы, близко подойти к какому-то ограничению на десятке - смешно. Удвоение скорости на практике меня временно устроит, потом подгоним еще дисков и все переразметим, но тестировать хочется в более санитарных условиях.
Начальный сетап
А значит беру линуксовую машину (i7-920, 12GB RAM), диски там еще медленнее, но можно сделать рамдиск на 8GB. Делаю, mkfs.ext4, раздаю его самбой и получаю такое (естественно, со второго раза, чтобы источник оказался в кэше):
Уже неплохо, на длинных транзакциях это чуть быстрее чем мой локальный массив о шести терабайтниках 7200rpm в RAID6.
С копированием кучки мелких файлов (исходники Qt) все грустнее, причем даже просто на взгляд.
Atto Disk Benchmark показывает такую вот картинку:
что подтверждает идею, что с мелкими транзакциями все печально.
Для сравнения, вот так ведет себя локальный массив:
На транзакциях до 32k локальный массив быстрее, дальше чуть медленнее.
Настройки самбы
Увидев у Самбы провал после 32k, бью себя по лбу и донастраиваю самбу:
[global]
read raw = yes
read size = 65536
socket options = TCP_NODELAY SO_RCVBUF=262144 SO_SNDBUF=262144
Буфера можно было и побольше нарисовать, но поленился.
После этого ATTO показывает уже такое
На больших блоках (начиная с 32k) все улучшилось, на мелких - ничего не изменилось.
А простое копирование большого файла - дает картинку с которой начался пост. Она, конечно, лукавая, 800+ там сначала, а сходится все в районе 600Mb/sec, но и это очень неплохо.
Что делать с мелкими файлами - непонятно, все упирается, очевидно, в RTT. Каких-то разумных вариантов с самбой не вижу, дальше буду пробовать iSCSI.
P.S. MTU у карты 9000, других настроек не делал, хотя их там довольно много.