Как я диагностирую узкое место в основанном на Intel Atom сервере Ubuntu?

У меня есть маленький медиасервер дома, который имеет программное обеспечение 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, когда я получу шанс хотя (только для полноты).

1
задан 03.07.2019, 09:58

4 ответа

Оказывается, что это была настольная машина, которую я использовал; это достигало 100 Мбит. Спасибо за весь совет, хотя - могло быть очень полезно для сравнительного тестирования и улучшения общей скорости моей системы!

0
ответ дан 12.12.2019, 08:03

Как сказанный 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.

4
ответ дан 12.12.2019, 08:03

Несколько вещей проверить:

  • удостоверьтесь, что NIC находится на самом деле в Gbit больше, не 10 Мбит с ethtool eth0 (замена eth0 с идентификатором устройства соответствующего NIC, если отличающийся), ищите "скорость", читающую для текущего режима
  • проверьте, что Windows в настоящее время использует свою карту в режиме Gbit также
  • проверьте для наблюдения, какая загрузка ЦП и ввода-вывода наложена на сервер во время передачи - если Вы видите (в top или подобный) одно ядро приблизительно в 100%-м I/O-wait указывает затем, что Ваши диски являются узким местом, если Вы видите высокую "систему" использование ЦП затем ЦП это bottlneck (это могло бы быть соединение двух для записей из-за RAID 5 "запись-> read+read+write+write" производительность, пораженная в четыре диска и каики четности, сделанные ЦП, если никакая система или чтения IO не высоки затем, сеть наиболее вероятна узкое место.
  • протестируйте объемную производительность чтения просто на сервере (для тестирования необработанной производительности 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), при наблюдении использования ЦП, поскольку это происходит также.
  • протестируйте bluk сетевую пропускную способность, независимо от диска/производительности массива, между машинами с netcat и объемом плазмы - на машине Win7 делают 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).

править:

Добавленная дополнительная вещь протестировать к списку выше, и другая незначительная деталь

2
ответ дан 12.12.2019, 08:03

В первую очередь, Вы используете SMB/CIFS, который не является очень быстрым протоколом, (это определенно медленнее что NFS для ссылки).

Во-вторых, это зависит, какую рабочую нагрузку Вы тестируете. Это главным образом последовательно или случайно? Если это - главным образом случайный ввод-вывод, то 10MB/s, вероятно, в порядке. Реалистично, от NIC ГБ можно ожидать 30-50MB/s от CIFS (но, поскольку я сказал, мог быть выше или понизиться, в зависимости от рабочей нагрузки).

Можно также проверить этот другой ответ от serverfault для настройки производительности CIFS.

Быстрый поиск показал эту страницу с производительностью CIFS bechmarks. Можно найти это полезным.

Наконец, можно проверить производительность сети с iperf (это может быть скомпилировано для окон также, и можно найти, что это предварительно скомпилировало где-нибудь),

1
ответ дан 12.12.2019, 08:03

Теги

Похожие вопросы