GD Star Rating
loading...

Всем добрый день.
Я собрал NAS для дома, и столкнулся с низкой производительностью дисковой системы на Ubuntu Server и Samba.
Инсайде конфиг и суть проблемы.

Tagged with →  

89 Responses to Всем добрый день.

  1. LlaCap:

    Материнка Zotac NM10–F–E
    Процессор Intel Atom D525
    Памяти 2 gb

    Три жестких диска: системный 120 гб, 2,5 дюйма,
    два других — 3 TB Hitachi HDS5C3030ALA630, и Seagate 750 GB — для хранения.
    Работает на Ubuntu Server 11.
    Установлена Samba 4. До этого стояла Samba 3.5.11

    Я столкнулся с низкой производительностью. Samba выдавала 25 мегабайт на скачивание, 35 на закачивание, и это по гигабитной сети. Виндовый комп при этом отдает контент в диапазоне 60–100 мегабайт.

    Сначала я думал, что дело в Sambe – но затем %username% ProtoStar посоветовал проверить скорость копирования не по сети.
    Я проверил, используя MC. Результат меня огорчил:

    Переписывая с трехтерабайтника на трехтерабайтник: 17,52 Мб/сек
    Переписывая с трехтерабайтника на 750 гиговый сигейт 23–26 Мб/сек
    C 750 гигового сигейта на трехтерабайтник — 34–37Мб/сек
    Скриншот:

    В каком направлении копать? Можно ли увеличить производительность на этой системе, или это максимум?

    P.S. Покупать NetApp не предлагайте.

  2. Ag3white:

    а ради прикола попробуй тоже самое на винде

  3. HDMMega:

    Хаха, какой закономерный пост, после поста про окончание сборки самодельного NAS. У меня также было, лет 10 назад.

  4. V-nMilk:

    какая фс на стородже?

  5. V-nMilk:

    Stephan-V: (прозреваю тормозящий ntfs-3g)

  6. LlaCap:

    ext4. до нтфс под убунтой еще додуматься надо.

  7. LlaCap:

    : Вы бы не злорадствовали, а добрым советом помогли.

  8. HDMMega:

    : а я и не злорадствую. Скорее всего FS дисковая виновата.

  9. LlaCap:

    : на винде, с расшареной папки 60-100 МБ скорость.

  10. LlaCap:

    : спасибо на добром слове. ext4 было ошибкой ставить?

  11. HDMMega:

    : я честно говоря хз, потому что 10 лет назад я собрал серваки на целеронах 2000х с ATA контроллерами и повоевав с настройками Самбы и ext3 на ALTLinux и Centos, смирился с 25 мегами в секунду. Потом пробовал еще FreeNAS позже там были те же скорости. Компы эти работают до сих пор в паре комп. клубов 🙂
    ext4 не щупал

  12. V-nMilk:

    скорости копирования и скорость отдачи в сеть это несопоставимые вещи. предлагаю замерить скорость чтения файлов

  13. LlaCap:

    Stephan-V: а есть для этого хитрая команда?

  14. V-nMilk:

    : dd if=somefile of=/dev/null bs=1M

  15. V-nMilk:

    Stephan-V: файл побольше только надо взять

  16. Ag3white:

    : про виндовый комп ты уже написал, что 60-100МБ/сек выдает.
    а на этом же железе Zotac NM10–F–E + Intel Atom D525 + 2 gb если винду поставить какие скорости выдает?

  17. NarSm:

    Stephan-V: bs в 1 Мб покажет тебе непойми что.

  18. V-nMilk:

    : libparted при сдвиге раздела обычно пробует перемещения блоками по 128,256,512k. 1024k должно хватить за глаза, тем более между разными девайсами

  19. SalEkb:

    Запись по 1Гбит сети на QNAP TS-459R. В готовых решениях есть смысл.

    Hardblog.net - linux nix windows размер 500x270, 62.08 kb

  20. LlaCap:

    : самое смешное, что я стал собирать NAS именно потому, что готовые решения среднего ценового диапазона меня не устраивали по производительности. И так обломался.

  21. V-nMilk:

    : так ты измерил что тебе сказали?

  22. KNTCap:

    Stephan-V: бросай опиаты

  23. LlaCap:

    Stephan-V: да, результат хороший:

    [email protected]:~$ su
    Password:
    [email protected]:/home/konstantin# dd if=/mnt/disk2/Avatar_3D.iso of=/dev/null bs=1024k count=10000
    10000+0 records in
    10000+0 records out
    10485760000 bytes (10 GB) copied, 83,8892 s, 125 MB/s

    Какие дальнейшие действия?

  24. LlaCap:

    Stephan-V:
    я немного синтаксис поменял по рекомендации, результат вот:
    [email protected]:~$ su
    Password:
    [email protected]:/home/konstantin# dd if=/mnt/disk2/Avatar_3D.iso of=/dev/null bs=1024k count=10000
    10000+0 records in
    10000+0 records out
    10485760000 bytes (10 GB) copied, 83,8892 s, 125 MB/s

  25. KNTCap:

    : наоборот зделой, проверь скорость записи теперь

  26. V-nMilk:

    : ну дык, офигеть скорость чтения же

  27. NarSm:

    Stephan-V: лолто.

    bs=1M заставит dd читать блоками по 1 Мб, но не отключит дисковые кэши.

  28. AbmApp:

    Ха, круто будет посмотреть на решение, сам провозился с ubuntu server пару недель, плюнул, поставил винду -> 80 -100MB/s по гигабитной сети.

  29. LlaCap:

    Stephan-V: а как эту скорость чтения конвертировать в высокую производительность на Samba?

  30. Konenko:

    Сделай в ubuntu в консоли от рута:
    hdparm -t /dev/sd* (где звездочка это буква диска). Буквы нужного диска смотрим коммандой df.

    Установи в убунте пакет iotop. Во время копирования файла запусти iotop и позырь как и чем нагружен диск.

    Короче надо найти узкое место. На мой взгляд или сеть или диск.

  31. KNTCap:

    : Надо принудительно заставлять перед написанием комментария прочитывать все комментарии в посте

  32. Konenko:

    : я буду читать комментарии! я буду читать комментарии! я буду читать комментарии!

  33. V-nMilk:

    : самба тормозная сама по себе. попробуй это:
    http://smb-conf.ru/use-sendfile-s.html
    и увеличить SO_SNDBUF и SO_RCVBUF в конфе самбы

  34. V-nMilk:

    : а причом тут дисковые кэши-то. нам интересна практическая скорость как раз

  35. KNTCap:

    Stephan-V: Ну какая нахрен самба?
    Переписывая с трехтерабайтника на трехтерабайтник: 17,52 Мб/сек
    Переписывая с трехтерабайтника на 750 гиговый сигейт 23–26 Мб/сек
    C 750 гигового сигейта на трехтерабайтник — 34–37Мб/сек

  36. KNTCap:

    Stephan-V: кеши не при чем

  37. Riaodin:

    хочешь решение? поставь винду и не парься

  38. V-nMilk:

    : стать петухом это не решение

  39. LlaCap:

    : первую команду сделал:

    /dev/sdc1:
    Timing buffered disk reads: 370 MB in 3.01 seconds = 123.05 MB/sec – это трехтерабайтник

    /dev/sdb1:
    Timing buffered disk reads: 232 MB in 3.01 seconds = 77.11 MB/sec – это 750 гиг.

    С iotop ща попробую разобраться.

  40. NarSm:

    Stephan-V: Тем, что чтение/запись без сброса дисковых кэшей покажет тебе попугаев в ваккууме. У меня было чтение 3 гб/сек и запись 1 гб/сек – на сата1-диске.

  41. Riaodin:

    Stephan-V: обсоснуй? )

  42. LlaCap:

    : под винду нет motion, а я хочу следить за соседями-мудаками в общем тамбуре.
    Ну и потом для файлопомойки + сервер видеонаблюдения винда избыточна.

  43. Riaodin:

    : есть альтернативы, но аргумент принят, моушен это моушен 🙂

  44. LlaCap:

    : Лови

    === START OF INFORMATION SECTION ===
    Model Family: Hitachi Deskstar 5K3000
    Device Model: Hitachi HDS5C3030ALA630
    Serial Number: MJ1311YNG57BMA
    LU WWN Device Id: 5 000cca 228c2618a
    Firmware Version: MEAOA5C0
    User Capacity: 3 000 592 982 016 bytes [3,00 TB]
    Sector Size: 512 bytes logical/physical
    Device is: In smartctl database [for details use: -P show]
    ATA Version is: 8
    ATA Standard is: ATA-8-ACS revision 4
    Local Time is: Fri May 4 17:58:04 2012 MSK
    SMART support is: Available – device has SMART capability.
    SMART support is: Enabled

    === START OF READ SMART DATA SECTION ===
    SMART overall-health self-assessment test result: PASSED

    General SMART Values:
    Offline data collection status: (0x82) Offline data collection activity
    was completed without error.
    Auto Offline Data Collection: Enabled.
    Self-test execution status: ( 0) The previous self-test routine completed
    without error or no self-test has ever
    been run.
    Total time to complete Offline
    data collection: (36667) seconds.
    Offline data collection
    capabilities: (0x5b) SMART execute Offline immediate.
    Auto Offline data collection on/off support.
    Suspend Offline collection upon new
    command.
    Offline surface scan supported.
    Self-test supported.
    No Conveyance Self-test supported.
    Selective Self-test supported.
    SMART capabilities: (0x0003) Saves SMART data before entering
    power-saving mode.
    Supports SMART auto save timer.
    Error logging capability: (0x01) Error logging supported.
    General Purpose Logging supported.
    Short self-test routine
    recommended polling time: ( 1) minutes.
    Extended self-test routine
    recommended polling time: ( 255) minutes.
    SCT capabilities: (0x003d) SCT Status supported.
    SCT Error Recovery Control supported.
    SCT Feature Control supported.
    SCT Data Table supported.

    SMART Attributes Data Structure revision number: 16
    Vendor Specific SMART Attributes with Thresholds:
    ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
    1 Raw_Read_Error_Rate 0x000b 100 100 016 Pre-fail Always – 0
    2 Throughput_Performance 0x0005 136 136 054 Pre-fail Offline – 102
    3 Spin_Up_Time 0x0007 100 100 024 Pre-fail Always – 423
    4 Start_Stop_Count 0x0012 100 100 000 Old_age Always – 9
    5 Reallocated_Sector_Ct 0x0033 100 100 005 Pre-fail Always – 0
    7 Seek_Error_Rate 0x000b 100 100 067 Pre-fail Always – 0
    8 Seek_Time_Performance 0x0005 132 132 020 Pre-fail Offline – 32
    9 Power_On_Hours 0x0012 100 100 000 Old_age Always – 145
    10 Spin_Retry_Count 0x0013 100 100 060 Pre-fail Always – 0
    12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always – 9
    192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always – 12
    193 Load_Cycle_Count 0x0012 100 100 000 Old_age Always – 12
    194 Temperature_Celsius 0x0002 162 162 000 Old_age Always – 37 (Min/Max 25/42)
    196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always – 0
    197 Current_Pending_Sector 0x0022 100 100 000 Old_age Always – 0
    198 Offline_Uncorrectable 0x0008 100 100 000 Old_age Offline – 0
    199 UDMA_CRC_Error_Count 0x000a 200 200 000 Old_age Always – 0

    SMART Error Log Version: 1
    No Errors Logged

    SMART Self-test log structure revision number 1
    No self-tests have been logged. [To run self-tests, use: smartctl -t]

    SMART Selective self-test log data structure revision number 1
    SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
    1 0 0 Not_testing
    2 0 0 Not_testing
    3 0 0 Not_testing
    4 0 0 Not_testing
    5 0 0 Not_testing
    Selective self-test flags (0x0):
    After scanning selected spans, do NOT read-scan remainder of disk.
    If Selective self-test is pending on power-up, resume after 0 minute delay.

  45. LlaCap:

    : альтернативы? Да ладно? Под венду, чтоб гибкая настройка, и забесплатно, и H264 поддерживает?

  46. V-nMilk:

    : морозная история, братец

  47. Riaodin:

    : ну я ж говорю, аргумент принят
    бесплатность софта для домашнего использования ещё кто-то учитывает?

  48. Riaodin:

    : тебе никто не говорил что ты странный?)

  49. NarSm:

    Stephan-V: Вольному воля.

  50. Rodmo:

    : И что непонятного будет в показаниях чтения, например, 4гб файла с bs=1M?

  51. LlaCap:

    : давай перефразирую: есть платный аналог стоимостью до 20 уе? (мне одна камера нужна, а не 8, я не паук)

  52. Rodmo:

    : На всех дисках проверь.

  53. Rodmo:

    : И кстати, можно указывать bs=1M count=10k

  54. Rodmo:

    : А там с него параллельно с сети/в сеть ничего не льётся с этих же дисков?

  55. LlaCap:

    : на втором, который 750 гиг – вот это:
    dd if=/mnt/disk1/Avatar_3D.iso of=/dev/null bs=1024k count=10000
    10000+0 records in
    10000+0 records out
    10485760000 bytes (10 GB) copied, 131,676 s, 79,6 MB/s

    ну, это не 125, конечно, но тоже поболе, чем при копировании.

  56. Riaodin:

    : просто регистратора для одной камеры?
    да вообще что угодно
    что за “гибкая настройка” – вот вопрос)

  57. KNTCap:

    : Нет. Ты первый.
    А использовать только лицензионный софт это что-то странное?

  58. Rodmo:

    : А если делаешь dd if=/mnt/disk1/Avatar_3D.iso of=/mnt/disk2/Avatar_3D.iso bs=1M count=10k?

  59. Riaodin:

    : мне кажется – да
    я такого только одного знаю, теперь двоих

  60. Riaodin:

    Stephan-V: ну что ты странный я знал и до этого)

  61. V-nMilk:

    : даже Аукс пираткой не зашкваривается

  62. LlaCap:

    : вот результаты iotop при копировании с диска на диск через MC

    http://блогastuff.ru/data/img/20120504/d
    (картинку вставлять не стал, она большая)

  63. Konenko:

    : Отлично.
    И для кучи оба файла вывода залей куда-нибудь.
    dumpe2fs /dev/sdb1 > /tmp/sdb1.out
    dumpe2fs /dev/sdc1 > /tmp/sdc1.out

    Просто ко мне обращались по работе с похожей проблемой, но там обстоятельства сложились в пользу винды.

  64. KNTCap:

    Stephan-V: Да он и на этой блоге не зашкваривается особо

  65. KNTCap:

    : Ну скажем так, при наличии open-source альтернатив я использую бесплатный софт, если уж совсем прижмет, или прога реально клевая и нужная – покупаю без вопросов предвижу бугурт нищеёбов и макоёбов. Но на данный момент у меня дома ни на одном из 4 компов нет нелицензионныхвзломанных программ.

  66. KNTCap:

    : как-то хуево написал, но суть понятна

  67. Riaodin:

    : круто, чё) уважаю

  68. Euber:

    : А расскажите про motion? Года три назад интересовался темой видеонаблюдения под линукс и всё было ужасно.

  69. LlaCap:

    : поставил я винду на него, вернее windows server 8 beta. Выдает 75 мегабайт стабильно.

  70. BTCon:

    занятно, поприсутствую. мои туда и обратно
    Hardblog.net - linux nix windows Image #1454175, 30.4 KB
    Hardblog.net - linux nix windows Image #1454196, 22.7 KB
    ограничены в данном случае скоростью винчестера на декстопных виндах – внешний диск 2,5″ подключенный по usb3.
    общение идет с одиночным seagate sv35.5 3tb

    по существу вопроса – промеряй диск с помощью дд или bonnie++. Если не ок, то копай в сторону переразметить диск, протестировать поверхность и прочая. если ок, то есть какие то клиент-серверные бенчмарки, нагружающие сеть, например iperf. если и тут ок, то начинаем искать где и чем ты читаешь-пишешь файлы. например какими блоками спрашивает ПО на твоем конце файлы – у твоей домашней сети есть какая то конечная производительность. у меня например при больших файлах скорость копирования достигает 100+ мб сек в любую сторону с/на быстрые диски. Но при работе с диска всякими софтами утилизация сети не выше 40%, тк мои софты спрашиваю файлы блоками по 4кб.
    Померять размер блока можно Process Monitor’ом. На ехт4 грешить не надо – это весьма производительная фс.

  71. Ag3white:

    : ты ubuntu 64 или 32 ставил? попробуй сменить дистрибутив на debian 32битный.

  72. AbmApp:

    : Блин, вот и у меня такое решение проблемы вышло… эх а думал, что-то полезное всплывёт в этом посте.

  73. V-nMilk:

    : полезное всплыло в этом посте. ниже Ёмкость описал методологию тестирования, следуя которой оп мог бы придти к результату, как у него. но вы, ребята, видимо ждёте ответа в стиле “на какую кнопку нажать, чтобы было пиздато”

  74. AbmApp:

    Stephan-V: Смотри, я мерял сетку с iperf, 750-800mbps, диск с dd пишет-читает в районе 80-100MB/sec уже не помню точно число. IOtop при копировании с жестяка на жестяк показывал плачевные результаты, которые сходятся с тем что показывал mc. Там есть ниже скрин с iotop, почти тоже самое, что и у меня.

    Моё железо intel s5000PSL и два Xeon 2.9ghz, 8gb ram. Жестяки подключены по sata. Всё крутилось на esxi + Ubuntu 64 в виртуалке. По идее всё должно летать, тут же ничего интенсивного не происходит. Да, по nfs между 2мя серверами были такие же скорости.

    Сейчас всё тоже самое только в виртуалке server 2008 r2, скорость отличная.

    Куда копать дальше?

  75. V-nMilk:

    : паравиртуализация дисков как была организована? с сетью как поступил?

  76. AbmApp:

    Stephan-V: диски подключены через raw device mapping (мамка не поддерживает vt-d). Использовал LSI logic parallel, до VMware paravirtual руки не дошли. Если в этом дело, то почему dd пишет/читает на отличной скорости?

    Сетка: пробовал и vmxnet3 и е1000 адаптеры, разница была только во время тестов iperf между 2мя виртуалками на 1м esxi хосте, да с vmxnet3 iperf тесты были в разы быстрее, но на передаче файла по сети это никак не отразилось, всё было медленно.

    Vmware-tools стояли.

    Я прям опять загорелся прийти домой и покопаться, просто год назад времени на это особо не было.

  77. V-nMilk:

    : получается дело в конкретном демоне?

Добавить комментарий