Dicas para depurar o desempenho do Samba?

8

O Samba me oferece 24 MB / s de leitura e 44 MB / s de gravação, enquanto o ftp fornece 97 e 112 MB / s nas mesmas circunstâncias.

A documentação diz que

Generally, you should find that Samba performs similarly to ftp at raw transfer speed.

No meu caso, isso claramente não acontece.

Onde posso encontrar dicas sobre como depurar o desempenho do Samba?

Ou, alternativamente, dicas para substituir o Samba por outra coisa? (Eu não posso usar o ftp, infelizmente, já que preciso de algo que possa ser usado com o rsync / rsnapshot.)

Mais detalhes:

  • Ambos os computadores estão executando o Ubuntu 10.10 (usando o Samba porque eu também tenho um Mac)
  • O compartilhamento Samba está em uma rede doméstica local, montada como

    $ mount
    ...
    //server.local/share/ on /mnt/share type cifs (rw,mand)
    
  • O desempenho do Samba foi testado copiando ( cp ) um único arquivo de ~ 4 GB para e do compartilhamento, usando time para tempo e calculando a velocidade de transferência manualmente.

  • desempenho do ftp são os números do cliente ftp para obter / colocar o mesmo arquivo.
  • iperf fornece velocidade de rede ~ 900 Mbits / s
  • bonnie++ fornece velocidades de disco > 200 MB / s em ambos os lados para leituras de blocos, bem como gravações em bloco
  • Tentei alterar os parâmetros sugeridos no HOWTO de ajuste de desempenho ( leitura / gravação em bruto, tamanho de leitura, opções de soquete), a maioria fez pouca ou nenhuma diferença. (Aquele que fez a diferença causou velocidade de gravação para cair 50%.)
por j-g-faustus 14.01.2011 / 21:30

3 respostas

3

Na verdade, o FTP tem uma taxa de transferência de dados bastante eficiente, uma vez iniciada. A sobrecarga que retarda as coisas é com o download de um arquivo em primeiro lugar. Isso não quer dizer que não haja problema com o Samba aqui. Deve ser quase idêntico.

Para ser honesto, eu não tenho muita ideia de como você deve começar a tentar consertar isso.

Idealmente, você seria capaz de soltar outro computador lá com uma instalação de referência do Samba (por exemplo, Windows) e testá-lo como um cliente e servidor contra as máquinas Ubuntu. Então você saberia qual máquina era o problema, se era apenas uma direção que era o problema e, em seguida, você seria capaz de relatar erros com base nisso e / ou encontrar uma solução alternativa para o período intermediário.

Há um tempo vi algo sobre certas falhas de hardware de rede no Samba. Foi tanto switches e adaptadores de rede, mas eu não posso para a vida de mim encontrar nada sobre isso. Provavelmente foi um caso tão complicado que não vale a pena considerar.

Que tal evitar o samba? O FTP pode não funcionar, mas e o NFS ? Ele provavelmente tem as maiores velocidades de transferência do lote (na minha experiência) e deve lidar com o rsync.

Você também pode olhar para a montagem do servidor FTP pelo FUSE, para que o rsync possa intimidá-lo.

    
por Oli 14.01.2011 / 21:48
1

Que tipo de desempenho você obtém ao executar o rsync sobre o ssh? Talvez você possa fazer o seu rsync com o ssh e também usar o samba para quando precisar transferir coisas entre o seu mac?

    
por Azendale 21.01.2011 / 07:26
1

você pode tentar isso no smb.conf

socket options = SO_KEEPALIVE SO_REUSEADDR \
   SO_BROADCAST TCP_NODELAY IPTOS_LOWDELAY \
   IPTOS_THROUGHPUT SO_SNDBUF=8192 SO_RCVBUF=8192

oplocks = yes

write raw = yes
read raw = yes
    
por jet 21.01.2011 / 14:17