LINUX.ORG.RU
ФорумAdmin

Медленно работает SAMBA (Etch)


0

0

Коллеги,

есть проблема с настройкой SAMBA под Debian Etch. Проблема состоит в том, что передача данных при копировании больших файлов с SAMBA-сервера совершенно позорная и составляет около 150кб/c. Тесты сетевой подсистемы и дисковой подсистемы показывают, что дело не в физике (scp дает 20 мбайт в секунду, netcat - 40мб/c на той же паре клиент и сервер).

Гугл не помогает - очень много информации не по делу. Всевозможные socket options (TCP_NODELAY, IPTOS_LOWDELAY, SO_SNDBUF, SO_RCVBUF), max xmit, read/write raw - испробованы во всевозможных комбинациях, и со значениями буферов от 8 до 256 кбайт. Судя по логу, самба шлет клиенту данные порциями по 4 кбайта, что, конечно, совершенно неоптимально.

Если кто знает в чем дело - помогите, пожалуйста! Скоро на стену полезу.

anonymous
Ответ на: комментарий от gr_buza

В данный момент вот так:

[global]
        dos charset = 866
        unix charset = koi8-r
        display charset = koi8-r
        workgroup = OFFICE
        server string = ""
        security = DOMAIN
        map to guest = Bad User
        passdb backend = ldapsam:ldap://127.0.0.1/
        passwd program = /usr/sbin/smbldap-passwd -u %u
        passwd chat = "Changing UNIX password for*\nNew password*" %n\n "*Retype new password*" %n\n"
        passwd chat debug = Yes
        unix password sync = Yes
        log level = 2
        syslog = 0
        log file = /var/log/samba/log.%m
        max log size = 100000
        read raw = No
        write raw = No
        time server = Yes
        deadtime = 10
        socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
        add user script = /usr/sbin/smbldap-useradd -m "%u"
        delete user script = /usr/sbin/smbldap-userdel "%u"
        add group script = /usr/sbin/smbldap-groupadd -p "%g"
        delete group script = /usr/sbin/smbldap-groupdel "%g"
        add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"
        delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
        set primary group script = /usr/sbin/smbldap-usermod -g '%g' '%u'
        add machine script = /usr/sbin/smbldap-useradd -t 0 -w "%u"
        logon path = \\%L\Profiles\%U
        logon drive = H:
        logon home = \\%L\%U
        domain logons = Yes
        os level = 65
        preferred master = Yes
        domain master = Yes
        wins support = Yes
        ldap admin dn = cn=manager,dc=xxxxxx,dc=ru
        ldap group suffix = ou=Groups
        ldap idmap suffix = ou=Idmap
        ldap machine suffix = ou=Computers
        ldap suffix = dc=xxxxxxx,dc=ru
        ldap user suffix = ou=Users
        idmap uid = 15000-20000
        idmap gid = 500-600
        create mask = 0640
        directory mask = 0750
        case sensitive = No
        dont descend = /proc,/dev,/etc,/lib,/lost+found,/initrd

anonymous
()
Ответ на: комментарий от SlavikSS

Попробовал. Картина прежняя. Кроме того попробовал поставить read/write raw=yes. Безрезультатно.

anonymous
()
Ответ на: комментарий от anonymous2

Попробовал именно так. По-прежнему 130 килобайт в секунду. KEEPALIVE и BROADCAST едва ли влияют на скорость передачи больших файлов; что касается NODELAY и SND/RCVBUF, то, как я указывал, NODELAY выставлен, а размерами буферов я игрался в диапазоне от 8 до 512 кбайт.

anonymous
()
Ответ на: комментарий от anonymous

Может кто-то еще в сети гадит? Подробные логи в студию (для начала debug level в конфиге задать).

В подавляющем большинстве случаев играться с задержками и буферами не нужно. ИМХО причина должна быть прозаичнее...

Bebop ★★
()
Ответ на: комментарий от Bebop

Сеть гигабитная, на достаточно приличном для SOHO оборудовании 
(управляемый L2 свитч  RubyTech). Как я указал, эксперимент с scp и 
netcat показывает, что с передачей данных по TCP все в порядке 
(скорости измеряются десятками мегабайт в секунду).

Логи при log level=2 не показывают ничего интересного, на log level=3 
вот, например, кусок лога, соответствующий процессу копирования 
большого файла (когда на клиенте скорость от 100 до 200 килобайт в 
секунду):

[2007/08/23 11:13:01, 3] smbd/sec_ctx.c:set_sec_ctx(241)
  setting sec ctx (0, 0) - sec_ctx_stack_ndx = 0
[2007/08/23 11:13:02, 3] smbd/process.c:process_smb(1110)
  Transaction 100 of length 63
[2007/08/23 11:13:02, 3] smbd/process.c:switch_message(914)
  switch message SMBreadX (pid 8943) conn 0x845ec70
[2007/08/23 11:13:02, 3] smbd/sec_ctx.c:set_sec_ctx(241)
  setting sec ctx (15002, 50) - sec_ctx_stack_ndx = 0
[2007/08/23 11:13:02, 3] smbd/reply.c:send_file_readX(2649)
  send_file_readX fnum=8604 max=61440 nread=61440
[2007/08/23 11:13:02, 3] smbd/process.c:process_smb(1110)
  Transaction 101 of length 63
[2007/08/23 11:13:02, 3] smbd/process.c:switch_message(914)
  switch message SMBreadX (pid 8943) conn 0x845ec70
[2007/08/23 11:13:02, 3] smbd/reply.c:send_file_readX(2649)
  send_file_readX fnum=8604 max=4096 nread=4096
[2007/08/23 11:13:02, 3] smbd/process.c:process_smb(1110)
  Transaction 102 of length 63
[2007/08/23 11:13:02, 3] smbd/process.c:switch_message(914)
  switch message SMBreadX (pid 8943) conn 0x845ec70
[2007/08/23 11:13:02, 3] smbd/reply.c:send_file_readX(2649)
  send_file_readX fnum=8604 max=61440 nread=61440
[2007/08/23 11:13:02, 3] smbd/process.c:process_smb(1110)
  Transaction 103 of length 63
[2007/08/23 11:13:02, 3] smbd/process.c:switch_message(914)
  switch message SMBreadX (pid 8943) conn 0x845ec70
[2007/08/23 11:13:02, 3] smbd/reply.c:send_file_readX(2649)
  send_file_readX fnum=8604 max=4096 nread=4096
[2007/08/23 11:13:02, 3] smbd/process.c:process_smb(1110)
  Transaction 104 of length 63
[2007/08/23 11:13:02, 3] smbd/process.c:switch_message(914)
  switch message SMBreadX (pid 8943) conn 0x845ec70
[2007/08/23 11:13:02, 3] smbd/reply.c:send_file_readX(2649)
  send_file_readX fnum=8604 max=61440 nread=61440
[2007/08/23 11:13:02, 3] smbd/process.c:process_smb(1110)
  Transaction 105 of length 63
[2007/08/23 11:13:02, 3] smbd/process.c:switch_message(914)
  switch message SMBreadX (pid 8943) conn 0x845ec70

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.