Qual é o desempenho típico do Windows File Sharing (SMB) em uma rede ethernet gigabit?

9

Recentemente, configurei o compartilhamento de arquivos do Windows em uma rede ethernet gigabit (não estou usando quadros jumbo) com um servidor Samba e um cliente Windows Vista. Eu fiz algumas cópias de arquivos, mas o throughput máximo que estou vendo é 20MB / s (megabytes, não megabits) que é cerca de 15% do máximo teórico de 125MB / s para a rede. O servidor tem uma matriz RAID que pode gerenciar cerca de 75MB / s (o gargalo é o barramento PCI) e o cliente pode gerenciar cerca de 40MB / s em uma cópia de disco para disco.

Devo acrescentar que não havia outro tráfego na rede no momento.

Eu entendo que nunca vou conseguir o máximo teórico, mas não achei que seria tão ruim assim.

Qual é o desempenho típico do Windows File Sharing (SMB) em uma rede ethernet gigabit?

Pontos de bônus: o que eu posso ajustar (além de usar quadros jumbo) para tornar isso mais rápido?

    
por Kaypro II 22.11.2009 / 21:46

3 respostas

7

A qualidade de suas placas de rede, comutadores e cabeamento podem ter um efeito. Pode valer a pena procurar por revisões das NICs e mudar (es) você está usando para ver se outras pessoas relatam que elas não estão indo muito bem. Acredito que as placas de rede embutidas são mais piores do que as transferências de Gbit, embora, na minha experiência, isso não pareça fazer muita diferença no ambiente.

Como ponto de referência, eu apenas instalei novos switches Gbit em nosso escritório (substituindo antigos switches de 100 Mbits) e grandes transferências SMB executam perto (mas menos que) 30Mbyte / seg entre cada combinação de máquinas que testei . Acabei de fazer um teste rápido com o netcat entre duas das máquinas e obtive resultados semelhantes, então não acho que o SMB seja o gargalo. As duas máquinas que eu acabei de testar tem dois interruptores entre elas que podem ter um efeito, mas eu acho que o efeito é mínimo dado o quão perto as figuras estão de um SMB para uma máquina no mesmo switch.

A melhor taxa de transferência que eu vi em uma rede Gbit foi um pouco tímida de 50Mbyte / seg no seu mais rápido. Isso foi durante a transferência de uma imagem de unidade de uma máquina para um arquivo na outra (para fins de conversão para uma unidade virtual VMWare. Nesse caso, as duas máquinas eram conectadas por meio de um cabo cruzado curto, em vez de por meio de um comutador. uma das máquinas em questão era uma das máquinas que eu testei e ganhei ~ 29Mbyte de segundo - o mais provável culpado pelo gargalo principal no meu caso é provavelmente a fiação de 8 anos no prédio que pode ter sido feita Um teste rápido (e igualmente não científico) na minha pequena rede doméstica vê as taxas de transferência mais de 35Mbyte / seg copiar um arquivo de um compartilhamento Samba para uma caixa do Windows e 25Mbyte / seg na outra direção (não tenho certeza por que há uma discrepância lá como em ambos os casos a cópia foi gerenciada por teracopy na caixa do Windows - eu poderia ter que investigar isso mais tarde em algum momento posterior).

Quadros jumbo farão a diferença para transferências em massa, então sugiro que você experimente isso se todo o seu kit oferecer suporte adequado a eles.

Para encurtar a história: passando por minha experiência anedótica, seus 20Mbyte / seg são um pouco lentos, mas não maciçamente. Todas as minhas instalações do Windows e do Samba são praticamente completamente desafinadas, então suspeito que o seu hardware / fiação seja a diferença entre o que eu vejo e o que você vê.

Editar

Claro, cinco anos depois dessa resposta, o hardware e o software avançaram. Muitas vezes vejo 90 + MiB / seg transferências em máquinas com redes Gbit, mesmo com kit barato. Meu home media / backup / outro servidor parece limitado a pouco mais de 60 para o bulk para transferências, mas parece que o samba está ligado à CPU em um único núcleo do hardware da caixa.

    
por 22.11.2009 / 22:45
3

Ahh ... isso é onde é importante para um cara do servidor entender o que está sob o capô. Como isso tem dois anos, acho que ele já resolveu. No entanto, para a posteridade ou qualquer pessoa com um problema semelhante, o que ele provavelmente encontrou é o seguinte

(tamanho da janela TCP * 8bits / RTT em milissegundos) = taxa de transferência máxima do TCP em bps

Embora você possa ter uma rede Gigabit, um único fluxo TCP provavelmente não será tão alto.

Aqui está uma tabela simples, supondo que você tenha o tamanho padrão da janela TCP 65535Byte no Vista

RTT 10 ms = > Taxa de transferência TCP = 52428000 bps = 52 Mbps

RTT 20 ms = > Taxa de transferência TCP = 26214000 bps = 26 Mbps

RTT 50 ms = > Taxa de transferência TCP = 10485600 bps = 10 Mbps

RTT 100 ms = > Taxa de transferência TCP = 5242800 bps = 5,2 Mbps

RTT 150 ms = > Taxa de transferência TCP = 3495200 bps = 4,3 Mbps

RTT 200 ms = > Taxa de transferência TCP = 2621400 bps = 2,5 Mbps

RTT 300 ms = > Taxa de transferência TCP = 1747600 bps = 1,7 Mbps

RTT 500 ms = > Taxa de transferência TCP = 1048560 bps = 1 Mbps

A 20Mbytes / seg ou 160Mbits / seg, a latência de ida e volta é provavelmente da ordem de 3 milissegundos. A única outra maneira de acelerar isso é usando otimizadores de TCP que fazem a desduplicação ao longo da conexão ou combinam fragmentos em pacotes maiores. Em uma rede local que provavelmente não vai ganhar muito para a despesa. Se você estiver usando equipamentos do SoHo como o Linksys ou o Netgear, sua latência provavelmente está sendo introduzida pela falta de buffers compartilhados no switch. Se for um switch maior como uma porta 24, tente certificar-se de que os dois dispositivos estejam conectados ao mesmo ASIC. Isso ajudará o atraso de serialização, mas não muito. Se você pudesse baixá-lo para 2ms, você receberia um aumento de até 31-32Mbytes / s. Se eles estão em dois switches diferentes, não há muito o que fazer sem um novo hardware.

    
por 22.10.2013 / 19:20
2

Não que isso o ajude nesta instância, mas o Vista / Windows 7 que está falando com o Windows 2008 Server usará o SMB2, que é muito mais eficiente do que o SMB simples e utilizará muito mais largura de banda da rede. Veja Melhorias no desempenho do Servidor de Arquivos com o protocolo SMB2 no Windows Server 2008 e Desempenho aprimorado da rede com o Microsoft Windows Vista e o Windows Server 2008 para obter mais informações.

O SMB2 está sendo trabalhado no Samba 4, mas parece que está sendo backportado para o Samba 3.5 .

    
por 22.11.2009 / 23:58