Desempenho ruim do samba entre a estação de trabalho Win Vista e o servidor de arquivos Ubuntu 9.04

2

Ok, caras do Linux, por favor, fiquem comigo. Eu sou um cara do windows que acabou de configurar seu primeiro servidor linux ...

O problema que estou tendo é que o desempenho do samba é muito ruim, tanto ao ler e escrever de / para um compartilhamento de samba que reside na caixa linux. E / S de disco local na caixa em si é ótima, a máquina está inativa e eu sou o único que a acessa. Eu pesquisei e tentei algumas das soluções comuns mencionadas quando as pessoas se deparam com problemas de desempenho do samba, mas até agora não tiveram efeito algum.

Configuração do servidor:
Intel ATOM 330 D945GCLF2 w bios 229 (mais recente)
2x WD1001FALS (WD caviar black 1Tb), configure com o software raid linux durante a instalação
2GB DDR2 (800 5-4-4-18 downclocked para 500-3-3-3-9, passou todos os testes de memória por memtest86)
Ubuntu 9.04 server amd64 + samba e subversion
Conexão de rede com fio de 100 Mbps do NIC onboard para um Linksys WRT300N

Configuração do cliente:
Dell inspiron 9400, Windows Vista x64, 4 GB de RAM, sem problemas de desempenho.

Conexão sem fio g (54 Mbps, recebo ~ 25 Mbps contra outros recursos na mesma rede)

E / S de disco local na caixa linux tem ótimo throughput:

$ sudo hdparm -tT /dev/md2

/dev/md2:
 Timing cached reads:   1310 MB in  2.00 seconds = 655.21 MB/sec
 Timing buffered disk reads:  294 MB in  3.01 seconds =  97.82 MB/sec
$ sudo hdparm -tT /dev/sda

/dev/sda:
 Timing cached reads:   1324 MB in  2.00 seconds = 661.47 MB/sec
 Timing buffered disk reads:  318 MB in  3.00 seconds = 105.85 MB/sec
$ sudo hdparm -tT /dev/sdb

/dev/sdb:
 Timing cached reads:   1328 MB in  2.00 seconds = 663.55 MB/sec
 Timing buffered disk reads:  300 MB in  3.01 seconds =  99.55 MB/sec

No entanto, quando copio arquivos pela rede para o compartilhamento de samba, obtenho velocidades de gravação em torno de 1-1.5Mb / s. Ao ler arquivos do compartilhamento samba, é preciso uma pausa longa (vários segundos) antes de ler os arquivos.

Agora, o TCPStat no servidor mostra muito tráfego da caixa do Windows abrindo o compartilhamento do samba como um compartilhamento unc no explorer no Windows. Parece que o windows está enumerando arquivos, mas eu não esperaria que isso bloqueasse mais alguma coisa ..? Ou o samba é, por padrão, uma única sessão sequencial / conexão única?

Alguma ideia? Quando googling me deparei com alguns artigos para versões mais antigas do Linux, onde eles recomendaram recompilar e substituir o driver realtek, mas nenhum desses artigos mencionou Ubuntu 9.04. E eu realmente não me sinto confortável em começar a recompilar o sistema operacional e / ou drivers de dispositivo antes de ter identificado a causa raiz do problema ...

Edit: aqui está meu arquivo smb.conf (com comentários etc removidos) - >

[global]
   workgroup = WORKGROUP
   wins support = yes
   dns proxy = no
   name resolve order = wins lmhosts host bcast
   log file = /var/log/samba/log.%m
   max log size = 1000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d
   encrypt passwords = true
   passdb backend = tdbsam
   obey pam restrictions = yes
   unix password sync = yes
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
   pam password change = yes
   map to guest = bad user

      SO_RCVBUF=8192 SO_SNDBUF=8192
socket options = TCP_NODELAY

   usershare allow guests = yes

[printers]
   comment = All Printers
   browseable = no
   path = /var/spool/samba
   printable = yes
   guest ok = no
   read only = yes
   create mask = 0700

[print$]
   comment = Printer Drivers
   path = /var/lib/samba/printers
   browseable = yes
   read only = yes
   guest ok = no

[someshare]
comment = images
read only=no
locking = no
path = /home/someusername/someshare
guest ok = no
    
por KristoferA 31.08.2009 / 06:58

1 resposta

2

Parece que a sua placa de rede está apenas a 10Mb / s. Mas antes de brincar com o cartão, primeiro tente conectar seu laptop com fio para descartar um problema sem fio. Se você tiver o mesmo problema, tente copiar algo usando scp em vez de samba. Basta baixar o pscp do texto do link e transferir um arquivo digitando:

pscp <your file> <linux user>@<linux server>:<folder> 
for example:
  pscp c:\temp\some-big-file.txt [email protected]:/home/KristoferA 

Se isso também for lento, então o seu problema não é Samba, você provavelmente só precisa de um driver de placa de rede diferente.

    
por 31.08.2009 / 07:51