У меня есть маленький медиасервер дома, который имеет программное обеспечение RAID и гигабитную ссылку на остальную часть моей сети.
По некоторым причинам, хотя, я только получаю передачи ~10MB/s при копировании в сервер.
Я использую программное обеспечение RAID5 (mdadm) более чем 4 диска на 1 ТБ. К тому же я затем использую LVM, чтобы дать мне огромный пул дискового пространства, которое затем разделено на несколько разделов, как которые можно изменить и когда им нужен он. Я предполагаю это это, скорее всего, причина, но я хотел бы знать наверняка, где первопричина.
Так, как я могу сравнить сетевой пропускной способности (рабочий стол Windows 7 <-> сервер Ubuntu) и производительность жесткого диска, чтобы попытаться определить, где мое узкое место могло бы быть?
[Редактированием], Если кто-либо заинтересовал, материнская плата, является Intel Desktop Board D945GCLF2. Таким образом, это - 300 процессоров серии Atom с Intel® 945GC Express Chipset
[Edit2] я чувствую себя подобно такому дураку! Я просто проверил свой рабочий стол, и я имел медленнее двух встроенных NICs, включенных, таким образом, сервер, вероятно, не в отказе здесь. При передаче копии человечности от сервера я добираюсь ~35-40MB/s согласно Windows 7. Я сделаю те тесты HD, когда я получу шанс хотя (только для полноты).
Как сказанный Antoine: Atom ЦП и SW RAID является плохой идеей. Для измерения troughput дисков, можно использовать hdparm
.
Взгляните на это: http://www.cyberciti.biz/tips/how-fast-is-linux-sata-hard-disk.html
Необходимо измерить дисковые устройства и устройства набега отдельно. Тем путем Вы видите, являются ли диски медленными (поврежденный?) или RAID является медленным. Также взгляните на свое использование CPU (например, с top
) при измерении или доступе к RAID ome другой путь.
Если это не проверка узкого места, если Ваша Ссылка GBEthernet использует свою полную мощность. Взгляните aht вывод ifconfig
. Шахта читает следующим образом (Mac OS X 10.6, это должно выглядеть подобным на Ubuntu):
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether 64:b9:e8:bf:8f:b4
inet 192.168.0.5 netmask 0xffffff00 broadcast 192.168.0.255
media: autoselect (1000baseT <full-duplex,flow-control>)
status: active
2-я строка от нижней части: 1000baseT средства: Ethernet ГБ!
[редактирование] я нашел эту статью: http://www.performancewiki.com/diskio-monitoring.html Это рекомендует sar
и iostat
для контроля диска IO.
Несколько вещей проверить:
ethtool eth0
(замена eth0
с идентификатором устройства соответствующего NIC, если отличающийся), ищите "скорость", читающую для текущего режимаtop
или подобный) одно ядро приблизительно в 100%-м I/O-wait указывает затем, что Ваши диски являются узким местом, если Вы видите высокую "систему" использование ЦП затем ЦП это bottlneck (это могло бы быть соединение двух для записей из-за RAID 5 "запись-> read+read+write+write" производительность, пораженная в четыре диска и каики четности, сделанные ЦП, если никакая система или чтения IO не высоки затем, сеть наиболее вероятна узкое место.cat
большой файл к /dev/null
видеть, как далеко это идет (делают echo 3 > /proc/sys/vm/drop_caches
сначала, таким образом, Вы знаете, что IO на самом деле поражает диски и прибывает из памяти, и если у Вас есть установленное использование pv
вместо кошки, поскольку это дает полезные speed+progress чтения), наблюдая, что CPU+IO загружается, поскольку это происходит такжеcat /dev/zero > /some/file/on/the/array
(или pv /dev/zero > /some/file/on/the/array
), при наблюдении использования ЦП, поскольку это происходит также.nc -l -p 123 > NUL
и на сервере затем делают pv /dev/zero | nc 1.2.3.4 123
где 1.2.3.4 адрес поля Windows (можно закончить для добавления исключения брандмауэра для nc
).Поскольку Вы видите единую ставку ~10Mbyte/sec, я подозревал бы сетевую проблему сначала, а не узкое место в дисках или ЦП - но RAID5 на Atom, ЦП мог бы быть одним из узких мест, таким образом, Вы могли бы хотеть рассмотреть RAID1+0 или RAID10 вместо этого (если Ваш массив RAID5 является драйвером 3 плюс запчасть затем Linux RAID10 с 3+spare, должен дать подобное дублирование (любой единственный сбой диска способен к выживанию), но с лучшей производительностью (запись-> write*2, а не запишите-> read+paritycalc+write*2), в режиме с 3 дисками драйвер RAID10 делает что-то подобное тому, что контроллеры IBM звонят RAID-1E, см. http://en.wikipedia.org/wiki/Non-standard_RAID_levels#Linux_MD_RAID_10).
Добавленная дополнительная вещь протестировать к списку выше, и другая незначительная деталь
В первую очередь, Вы используете SMB/CIFS, который не является очень быстрым протоколом, (это определенно медленнее что NFS для ссылки).
Во-вторых, это зависит, какую рабочую нагрузку Вы тестируете. Это главным образом последовательно или случайно? Если это - главным образом случайный ввод-вывод, то 10MB/s, вероятно, в порядке. Реалистично, от NIC ГБ можно ожидать 30-50MB/s от CIFS (но, поскольку я сказал, мог быть выше или понизиться, в зависимости от рабочей нагрузки).
Можно также проверить этот другой ответ от serverfault для настройки производительности CIFS.
Быстрый поиск показал эту страницу с производительностью CIFS bechmarks. Можно найти это полезным.
Наконец, можно проверить производительность сети с iperf (это может быть скомпилировано для окон также, и можно найти, что это предварительно скомпилировало где-нибудь),