Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Низкая скорость samba  (Прочитано 11304 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн seeingred

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Низкая скорость samba
« : 14 Апреля 2008, 10:19:50 »
Здравствуйте, ситуация такая:
Есть два компа.
Один сервер - на нем samba под ubuntu с расшаренным ресурсом.
Второй - клиент, на котором стоит две системы - ubuntu и vista. Связано все это гигабитками d-link. При подключении к серверу с висты скорость самба нормальная, как на родном разделе, а при подключении с ubuntu - ниже некуда, где-то порядка 80 кб/c. Настройка самбы на клиенте и на сервере дефолтные, только кодировку менял и шару добавил.
В чем проблема? Заранее спасибо.

Оффлайн axel

  • Участник
  • *
  • Сообщений: 150
  • Freeman forever
    • Просмотр профиля
Re: Низкая скорость samba
« Ответ #1 : 14 Апреля 2008, 11:19:34 »
я уже задавал подобный вопрос, ничего не ответили, но есть подозрения, что тормозит гном.
попробуйте покачать средствами консоли, например, mc.
расскажите, что получилось, самому интересно (к сожалению, мне сейчас некогда заниматься экспериментами).
Что я могу еще сказать?

Оффлайн seeingred

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Re: Низкая скорость samba
« Ответ #2 : 14 Апреля 2008, 11:25:20 »
Тоже самое. Но есть подозрение, что проблема появилась при смене сетевых карт на гигабитные, т.е. гипотеза такая: самба не знает с какой скоростью работать. Но вот где бы прописать жестко скорость....

Оффлайн nextlife

  • Активист
  • *
  • Сообщений: 444
    • Просмотр профиля
Re: Низкая скорость samba
« Ответ #3 : 14 Апреля 2008, 11:48:39 »
1. Либо сетевые неправильно настроены в системе (проверьте обычной сетевой на 100мбит)
2. Либо Самба у Вас криво встала

У меня всё летает. :)

А было ещё - файрвол стоит, его приходится restart до рестарта самбы.
« Последнее редактирование: 14 Апреля 2008, 11:50:25 от Samba »
Kool Desktop Environment (KDE)

Оффлайн seeingred

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Re: Низкая скорость samba
« Ответ #4 : 14 Апреля 2008, 11:56:46 »
2Samba
1. Что именно неправильно настроено?  Проблемы со скоростью только в самбе.
ethtool говорит:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000033 (51)
        Link detected: yes

2. Самба криво встала? Такое бывает?
3. Фаервола нет.

Оффлайн Vovanys

  • Участник
  • *
  • Сообщений: 188
  • Эээээ.... без коментариев
    • Просмотр профиля
    • vovanys.com
Re: Низкая скорость samba
« Ответ #5 : 14 Апреля 2008, 12:36:12 »
с чем то подобным сталкивался, но у мну из разных файловых систем было
с ntfs на ext3 кидал.

Оффлайн axel

  • Участник
  • *
  • Сообщений: 150
  • Freeman forever
    • Просмотр профиля
Re: Низкая скорость samba
« Ответ #6 : 14 Апреля 2008, 13:46:56 »
так что насчет "не из гнома"?
Что я могу еще сказать?

Оффлайн seeingred

  • Автор темы
  • Новичок
  • *
  • Сообщений: 8
    • Просмотр профиля
Re: Низкая скорость samba
« Ответ #7 : 14 Апреля 2008, 14:02:59 »
2axel
Тоже самое, говорю.

Оффлайн nextlife

  • Активист
  • *
  • Сообщений: 444
    • Просмотр профиля
Re: Низкая скорость samba
« Ответ #8 : 20 Апреля 2008, 23:38:17 »
2Samba
1. Что именно неправильно настроено?  Проблемы со скоростью только в самбе.
ethtool говорит:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000033 (51)
        Link detected: yes

2. Самба криво встала? Такое бывает?
3. Фаервола нет.

Файрвола нет - это хорошо.
Ну вообще то самба редко криво встает. Значит на втором клиенте у тебя что то с настройками самба, может они пытаются стать оба мастерами и.т.п, вывод дай сюда samba.conf обоих машин - разложим по полачкам.
Kool Desktop Environment (KDE)

Оффлайн DDDstart

  • Участник
  • *
  • Сообщений: 197
  • Linux создан для сети, как птица для полета
    • Просмотр профиля
Re: Низкая скорость samba
« Ответ #9 : 29 Июля 2008, 21:55:19 »
Столкнулся с подобной проблемой при закачке 17 Гигов инфы на расшаренный ресурс на линуксовой машине с расшаренного ресурса в винде.
Под виндой этот же объем с машинки на  машинку перелил за  1,5 часа. Под Убунтой - за 6 часов!!??!!!

В чем проблема???
Очень долго сливает каждый файл.
Неверующие остаются неверующими только до момента своей смерти

Оффлайн vktRus

  • Участник
  • *
  • Сообщений: 224
    • Просмотр профиля
Re: Низкая скорость samba
« Ответ #10 : 10 Августа 2008, 23:02:42 »
У меня было тоже при соединении WinXP и FreeNAS (FreeBSD). Сетевые карточки гигабитные Realtek 8169 (гадость, максимальная скорость 150-200 Мбит/сек как ни старайся). Решилось всё установкой одинаковых параметров сети 1000/FULL и заменой свича на нормальный.
Сейчас таже проблема на Ubuntu с WinXP. Скорость на гигабитках как на десятках. Пока поставил просто сотку Realtek 8139, так как не было времени разбираться. Скорость увеличилась в 3 раза.

Кстати, по FTP всё всегда летало.
« Последнее редактирование: 10 Августа 2008, 23:05:50 от vktRus »

Оффлайн ressac

  • Активист
  • *
  • Сообщений: 255
    • Просмотр профиля
Re: Низкая скорость samba
« Ответ #11 : 11 Августа 2008, 00:14:12 »
у меня самба под 7.10 а клиент под 8.04,


вообщем  из на 100 mbps я получаю  62-70mbps
если клиент из под вифи то у меня выходит всего 50% от полного канала.

под окнами я не пробовал, но думаю разницы не будет так как подымал из под винды HFS (HttpFileServer wiki) и скорость была почти таже.

Оффлайн w_w

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Низкая скорость samba
« Ответ #12 : 19 Июля 2009, 10:22:10 »
У меня похожая проблема.
 Есть два компьютера в домашней сети. На первом установлен samba-сервер (система Xubuntu 9.04), со второго осуществляется к нему доступ (клиент), система Kubuntu 9.04. Гигабитная сеть.
Проблема в том, что скорость чтения составляет всего 30 МБайт/с, но скорость записи выше - 80-90 МБайт/с.
Что я делал: 1) с помошью iperf измерил скорость - 940 МБит/с (117 МБайт/с) в обоих направлениях. 2)На компьютере с клиентом установлена также Windows Vista. В ней скорость чтения и записи составляет около 100 МБайт/с. Причём это реальная скорость - проверял по индикатору активности на коммутаторе.
Из этого можно сделать вывод, что проблема не в сервере и не в аппаратуре. Я подозреваю, что виноват samba-клиент.

Вот что написано в man mount.cifs:
rsize=arg
           default network read size (usually 16K). The client currently can not use rsize larger than CIFSMaxBufSize. CIFSMaxBufSize defaults to 16K and may be changed (from
           8K to the maximum kmalloc size allowed by your kernel) at module install time for cifs.ko. Setting CIFSMaxBufSize to a very large value will cause cifs to use more
           memory and may reduce performance in some cases. To use rsize greater than 127K (the original cifs protocol maximum) also requires that the server support a new
           Unix Capability flag (for very large read) which some newer servers (e.g. Samba 3.0.26 or later) do. rsize can be set from a minimum of 2048 to a maximum of 130048
           (127K or CIFSMaxBufSize, whichever is smaller)

       wsize=arg
           default network write size (default 57344) maximum wsize currently allowed by CIFS is 57344 (fourteen 4096 byte pages)

Видим, что этот параметр для чтения меньше, чем для записи, что согласуется с измерениями скорости (при записи - выше). Но rsize нельзя увеличить из-за CIFSMaxBufSize. Я думаю что нужно увеличить CIFSMaxBufSize. Может кто подскажет как это сделать?
И вообще, кто-нибудь когда-нибудь видел скорость чтения выше 30 МБайт/с с дефолтными настройками клиента?
 

Оффлайн ploxish

  • Любитель
  • *
  • Сообщений: 97
    • Просмотр профиля
Re: Низкая скорость samba
« Ответ #13 : 19 Июля 2009, 11:17:54 »
попробуйте добавить в конфиг это-должно помочь

socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192

либо вариант №2
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 dns proxy = no

с первым все работает на ура.
только 2 сразу не вставляйте, либо один закоментировать.
« Последнее редактирование: 19 Июля 2009, 11:21:24 от ploxish »

Оффлайн w_w

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Низкая скорость samba
« Ответ #14 : 19 Июля 2009, 11:32:12 »
попробуйте добавить в конфиг это-должно помочь

socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192

либо вариант №2
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 dns proxy = no

Это уже добавлено в конфиг сервера. Но повторю, что проблема не в сервере. Потому что когда в качестве клиента выступает Windows, то проблемы нет и скорость соответствует пропускной способности сети.

Кстати, экспериментальным путём выявил, что для моей конфигурации лучше SO_RCVBUF=65536 SO_SNDBUF=65536.

Пользователь решил продолжить мысль 19 Июля 2009, 22:02:49:
Решил обойти проблему - поставил NFS. Но оказалось не всё так просто. Проблем со скоростью нет - 100 МБайт/с (там нет таких ограничений на rsize), но проблема с доступом к файловой сисеме Fuse (я использую mhddfs). Везде засада.  :'( 

Пользователь решил продолжить мысль 20 Июля 2009, 01:59:32:
Полезный документ Linux CIFS Client Guide:
http://ppp.samba.org/samba/ftp/cifs-cvs/linux-cifs-client-guide.pdf

Пользователь решил продолжить мысль 20 Июля 2009, 11:56:43:
Performance Considerations

Server speed, server disk speed and network speed can constrain the overall performance of a cifs
mount, but in some cases, client client configuration settings can be changed to increase performance:

1) size of file write (wsize). The Linux CIFS client usually sends 56K writes (14 pages) and is
limited to 56K maximum unless mounted forcedirectio.
2) size of file read (rsize). The Linux CIFS client usually sends 16K reads (4 pages). Since CIFS
large network buffers are about 16K in size by default, increasing the rsize would have little
effect unless the setting of module load parameter CIFSMaxBufSize (via insmod) also is
increased.
3) maximum number of simultaneous requests to a particular server. Default is 50. It is
configured via module load parameter (via insmod) “cifs_max_pending”
4) minumum number of small and large network buffers in the cifs buffer pool. These are
configured via module load parameters cifs_min_small and cifs_min_rcv respectively.
Although increasing these will reduce available memory, they can increase performance for
some workloads in which large numbers of simultaneous requests are made to the same server
from different processes (by reducing the number of memory allocations).
5) caching on client (forcedirectio). The default is to attempt to cache ie try to request oplock on
files opened by the client (forcedirectio is off). Foredirectio also can indirectly alter the
network read and write size, since i/o will now match what was requested by the application, as
readahead and writebehind is not being performed by the page cache when forcedirectio is
enabled for a mount.
6) Sending byte range lock requests. Sending byte range lock requests can be disabled (only
enforced locally on the client) by the mount parameter “nobrl”
In addition, whether or not cifs packet signing is negotiated, and whether or not the Linux Extensions
to CIFS (POSIX CIFS Extensions) are negotiated, can affect performance.

The Linux CIFS client exports various statistics to assist in tuning. See /proc/fs/cifs/Stats and
/proc/fs/cifs/DebugData. Additional timing information can be logged to dmesg (the kernel debug
message log) by setting the “CIFS_TIMER” flag (“echo 4 > /proc/fs/cifs/cifsFYI”).

Пользователь решил продолжить мысль 20 Июля 2009, 14:46:45:
Пробуем изменить параметр CIFSMaxBufSize. Я раньше ни разу этого не делал, поэтому будем разбираться...
Так, команда
modinfo /lib/modules/2.6.28-14-generic/kernel/fs/cifs/cifs.koговорит нам:
parm:           CIFSMaxBufSize:Network buffer size (not including header). Default: 16384 Range: 8192 to 130048 (int)Т.е. такой модуль действительно есть и в нём есть этот параметр. Теперь его надо изменить...



Пользователь решил продолжить мысль 20 Июля 2009, 18:13:26:
Воспользовавшись этим руководством http://www.linuxplanet.org/blogs/?cat=713 создал файл options.conf в /etc/modprobe.d со следующей строкой: options cifs CIFSMaxBufSize=130048И скорость чтения увеличилась до 60-70 МБайт/с! Похоже, что работает.
Естественно, что нужно дополнительно задать параметр rsize в fstab. Его нужно подобрать, чтобы получить максимальную скорость.
« Последнее редактирование: 20 Июля 2009, 23:37:15 от w_w »

 

Страница сгенерирована за 0.065 секунд. Запросов: 23.