Я создал массив RAID5 с 7 дисками с помощью mdadm и поместил LVM2 в массив, если я захочу расширить его в будущем. Форматировал как XFS. Я в основном следовал этой обучающей строке за строкой:
Легко расширить программный RAID 5 Linux с помощью XFS. Лучшие практики?
Когда я делаю
hdparm -tT /dev/md0
Я вижу скорость чтения 400 МБ / с +
Однако через сеть (гигабитный кроссовер) я получаю только 55-60 МБ / с для чтения и записи. Довольно новая машина (последние 2 года)
В чем могут быть некоторые источники узких мест и как их исправить?
Спасибо.
Для начала, ваша гигабитная сеть составляет 1000 Мбит / с -> 125 Мбит / с, а после накладных расходов это всего ~ 100 Мбит / с. Вы получаете примерно половину от этого, что не очень хорошо; но вы никогда не достигнете 400 Мбит / с или даже близко.
Какой протокол вы используете в сети? CIFS, AFS, NFS? Если это NFS, UDP или TCP? Jumbo-кадры, размер кадра данных, асинхронность / синхронизация? Метод тестирования? На вашу производительность может влиять множество факторов.
Используя NFSv3, UDP, 8k кадров данных, 9k MTU и async + aio, я могу получить 102 Мбит / с из моей гигабитной сети. Я считаю, что это довольно близко к пределу (примечание: я использую FreeBSD на обоих концах, а не linux; и ZFS, а не XFS или EXT).
Измерьте производительность диска локально, чтобы определить, являются ли наблюдаемые вами 55-60 МБ / с диском и / или сетью.
Вы можете проверить локальную скорость с помощью 'time' и 'dd':
you@server$ time dd if=/dev/zero of=file.1 bs=4k count=10M
Это должно написать файл размером 40 ГБ и сказать вам, сколько времени это заняло. Важно записать файл большего размера, чем доступная оперативная память, обычно примерно в два раза больше, если это возможно. Это сделано во избежание любого потенциального эффекта кэширования. Используйте любую комбинацию размера блока, которая подходит для вашего размера полосы и размера блока fs.
Затем прочитайте файл снова, чтобы проверить скорость чтения:
you@server$ time dd if=file.1 of=/dev/null bs=4k
Если локальная производительность выше, чем 55-60 МБ / с, которые вы видите по CIFS с удаленного хоста, посмотрите в сеть (включая обе hosts, вы можете использовать для этого iperf). Если локальная производительность ограничивается 55-60 Б / с, вам нужно будет предоставить более подробную информацию о технических характеристиках и конфигурации оборудования.