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


10

Recentemente, configurei o compartilhamento de arquivos do Windows em uma rede Ethernet gigabit (não estou usando jumbo-frames) com um servidor Samba e um cliente Windows Vista. Fiz algumas cópias de arquivos, mas a taxa de transferência máxima que estou vendo é de 20 MB / s (megabytes, não megabits), o que representa cerca de 15% do máximo teórico de 125 MB / s para a rede. O servidor possui uma matriz RAID que pode gerenciar cerca de 75 MB / s (o gargalo é o barramento PCI) e o cliente pode gerenciar cerca de 40 MB / 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 alcançarei 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 de gigabit?

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


2
Corrigi os problemas de desempenho na minha rede: eles eram uma combinação de uma placa de rede interna ruim no servidor e de drivers de placa de rede antigos no cliente. Agora estou vendo entre 50 MB / se 80 MB / s em algumas cópias em massa que fiz para testar. No entanto, as transferências parecem pausar inesperadamente por alguns segundos, de tempos em tempos.
precisa saber é o seguinte

1
Outra causa do meu fraco desempenho de rede foi que, ao rodar o Virtual PC (sem necessariamente ter nenhuma imagem em execução), algo parece aumentar a minha placa de rede para ~ 100 Mbps na minha máquina Vista.
Kaypro II

Respostas:


8

A qualidade de suas placas de rede, comutadores e cabos pode ter um efeito. Pode valer a pena procurar por revisões das NICs e dos comutadores que você está usando para ver se outras pessoas as relatam como não tendo um desempenho muito bom. Estou convencido de que as placas de rede embutidas no painel são piores nas transferências de Gbit, embora na minha experiência isso pareça não fazer muita diferença, se houver alguma, no meu ambiente.

Como ponto de referência, eu acabei de instalar um novo switch Gbit em nosso escritório (substituindo os switches antigos de 100Mbit) e as grandes transferências SMB são executadas perto de (mas menos de) 30Mbyte / s entre cada combinação de máquinas que testei. Acabei de fazer um teste rápido com o netcat entre duas máquinas e obtive resultados semelhantes, então não acho que o SMB seja o gargalo. As duas máquinas que acabei de testar possuem dois comutadores entre eles, o que pode ter um efeito, mas acho que esse efeito é mínimo, considerando o quão perto os números de onde uma SMB são transferidos para uma máquina no mesmo comutador.

A melhor taxa de transferência que eu já vi em uma rede Gbit foi um pouco mais tímida de 50Mbyte / s. 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 em uma unidade virtual VMWare. Nesse caso, as duas máquinas foram conectadas por um cabo cruzado curto e não por um comutador. uma das máquinas em questão foi uma das que acabei de testar e recebi ~ 29Mbyte / s - o culpado mais provável do principal gargalo no meu caso é provavelmente a fiação de 8 anos no prédio que pode ter sido executada Um teste rápido (e igualmente não científico) na minha pequena rede doméstica vê taxas de transferência de mais de 35Mbyte / s copiar um arquivo de um compartilhamento Samba para uma caixa do Windows e 25Mbyte / s na outra direção (I '

Os quadros jumbo farão a diferença nas transferências em massa, por isso sugiro que você experimente se todo o seu kit os suportar adequadamente.

Para resumir uma longa história: passando pela minha experiência anedótica, seus 20 MB / s são um pouco lentos, mas não massivamente. Todas as minhas instalações do Windows e do Samba são praticamente sem ajuste, então suspeito que seu hardware / fiação seja a diferença entre o que vejo e o que você vê.

Editar

Obviamente, cinco anos depois dessa resposta, o hardware e o software seguiram em frente. Frequentemente vejo transferências de mais de 90 MiB / s em máquinas com rede Gbit, mesmo com kit barato. Meu servidor doméstico de mídia / backup / outro parece limitado a pouco mais de 60 para transferências em massa, mas parece que o samba está vinculado à CPU em um único núcleo do hardware da caixa.


O cabeamento não deve ser um problema para mim, a parte de gigabit da minha rede é completamente CAT6. Não posso usar jumbo-frames porque minha rede (doméstica) é heterogênea - tenho wi-fi e um segmento de 100Mbit - e entendo que os jumbo-frames são apenas gigabit. No entanto, se eu pudesse limitar os frames jumbo a certos pares de hosts, isso poderia funcionar. Esse é um bom argumento sobre o hardware. Todos os meus são de grau de consumo; Vou ter que investigar isso. Outro pensamento que tive foi como a conexão das NICs internas pode ser um problema. Se alguém estiver no barramento PCI, isso pode ser um fator.
21320 Kaypro II

1
você não quer dizer "seus 20Mbyte / s são um pouco lentos, mas não massivamente" (aí chegou o fim)? caso contrário, +1, boa redação.
quack quixote

Bom catch ~ charlatão, devidamente editado.
David Spillett

arrrgh. infelizmente eu não posso editar comentários, ou eu iria parar de comer o fim ...
quack quixote

4

Ahh ... é aqui que é importante para um servidor entender o que está por trás. 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 foi esse

(Tamanho da janela TCP * 8bits / RTT em milissegundos) = Taxa de transferência máxima de 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 da janela TCP 65535Byte padrão no Vista

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

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

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.3Mbps

RTT 200 ms => Taxa de transferência TCP = 2621400 bps = 2.5Mbps

RTT 300 ms => Taxa de transferência TCP = 1747600 bps = 1.7Mbps

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

A 20Mbytes / s ou 160Mbits / s, sua latência de ida e volta é da ordem de 3 milissegundos. A única outra maneira de acelerar isso é usar otimizadores de TCP que diminuam a conexão ou dividem fragmentos em pacotes maiores. Em uma LAN que provavelmente não vai render muito para você. Se você estiver usando equipamentos SoHo como o Linksys ou o Netgear, sua latência provavelmente será introduzida pela falta de buffers compartilhados no switch. Se for um switch maior como uma porta 24, tente garantir que os dois dispositivos estejam conectados ao mesmo ASIC. Isso ajudará o atraso da serialização, mas não muito. Se você pudesse reduzi-lo para 2ms, obteria um aumento de aproximadamente 31-32Mbytes / s. Se eles estiverem em dois comutadores diferentes, não há muito o que fazer sem um novo hardware.


2

Não que isso o ajude nesse caso, mas o Vista / Windows 7, conversando com um Windows 2008 Server, usará o SMB2, que é muito mais eficiente que o SMB comum e utilizará muito mais a largura de banda da rede. Consulte Melhorias de desempenho do servidor de arquivos com o protocolo SMB2 no Windows Server 2008 e Desempenho de rede aprimorado com Microsoft Windows Vista e Windows Server 2008 para obter mais informações.

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.