O desempenho do Samba é lento com um cliente OSX 10.6

1

Acabei de configurar um novo servidor Samba 3.3 em uma máquina CentOS 5.4 virtualizada e descobri que ele está tendo problemas de desempenho sob um conjunto muito particular de circunstâncias. Meu chefe tem um Macbook Pro rodando o Mac OSX 10.6. Quando ele tenta ... dizer ... transferir um arquivo de 30 megabytes para o servidor, ele é terrivelmente lento (15 segundos).

Aqui estão alguns outros pontos de dados interessantes:

  • Transferir o mesmo arquivo do servidor leva apenas alguns segundos. A extrema lentidão é apenas na escrita.
  • Transferindo o mesmo arquivo para um servidor samba antigo que já configuramos executando o Fedora Core 5 e o Samba 3.0 é quase instantâneo. Escusado será dizer que estamos a tentar atualizar, ou então continuaríamos a usá-lo.
  • A transferência do mesmo arquivo para o novo servidor usando o SFTP leva de 1 a 2 segundos.
  • Quando eu tento transferir o mesmo arquivo de amostra para o novo servidor usando minha máquina pessoal OSX 10.5, demora cerca de 5-6 segundos, não importa qual protocolo eu use (Samba, SCP, SFTP) . Então é mais lento que a máquina dos meus chefes nos outros protocolos, mas mais rápido quando se usa o Samba.

Já experimentei alguns dos truques de aumento de velocidade listados no Google, como socket options = TCP_NODELAY , read raw e write raw , mas nenhum deles parece ter qualquer efeito nas velocidades resultantes. Os firewalls são todos configurados corretamente, com o host virtual transmitindo todo o tráfego em ponte para o servidor virtual apropriado e o "Samba" é permitido no próprio servidor virtual. Eu também olhei através do arquivo de configuração do servidor antigo e nada pulou em mim como sendo um "aha, isso é por isso que é tão rápido."

Alguma outra ideia?

EDITAR: Novas informações. Eu descobri que meu computador estava usando WiFi em vez de ethernet. Quando mudei para ethernet, meu desempenho no servidor se tornou idêntico aos meus chefes em todos os aspectos (SFTP rápido, Samba escreve super-lento, etc).

    
por AlexMax 31.03.2011 / 15:49

3 respostas

1

É possível que o switch ethernet ao qual você está se conectando esteja negociando mal uma conexão half-duplex com os Macs? Sua descrição (alta velocidade uma direção, baixa a outra, fica pior se você tentar enviar dados muito rápido) soa como o que vi quando uma das extremidades (a chave no seu caso) está no modo half-duplex e a outra ( o Mac) está tentando usar o modo full-duplex.

Você pode verificar o modo no Mac com o comando ifconfig (procure uma linha que diga algo como "media: autoselect (1000baseT) status: active"; como você verifica (/ se você pode verificar) no O switch depende da sua interface de gerenciamento (se houver). Você também pode diagnosticar isso usando algo como netstat -p tcp -s - se esse for o problema, você provavelmente verá muitas retransmissões.

Nota: se o servidor e os Macs estiverem em comutadores diferentes, também é possível que exista um problema com a conexão entre comutadores.

    
por 01.04.2011 / 01:12
1

Defina unix extensions = no

Adicionamos adicionalmente

strict locking = no
blocking locks = no
kernel oplocks = no
posix locking = no

para o nosso ambiente. Certifique-se de que você sabe o que está fazendo antes de alterar os padrões. Como sempre, man smb.conf e use as listas.

Participe aqui: link

Pesquise aqui:
link
link

    
por 31.03.2011 / 16:40
0

A velocidade da placa de rede virtual é apenas artificial, é um pouco armazenada no registro de "cartão" e usada apenas pelo convidado para exibir o status usual de "velocidade". Ele nunca é usado para limitar realmente a velocidade real da "carta", não há código no qemu / kvm para fazer isso - os pacotes são sempre fluxos na velocidade máxima possível. Sim, diferentes "cards" têm impacto diferente no uso da CPU e eficácia diferente, resultando em velocidades diferentes, mas com CPU suficientemente rápida, é possível enviar dados em velocidades GigE usando NIC emblemática de 10mbps em rede.

    
por 16.04.2011 / 06:17

Tags