TCP / IP e taxa de transferência entre o servidor FreeNAS (BSD) e outras máquinas LAN

4

Eu tenho uma pergunta para alguém que conhece o BSD um pouco melhor do que eu em relação à minha configuração de LAN em casa / trabalho aqui fora de Chicago.

Não consigo otimizar totalmente o rendimento da minha rede (LAN) através do meu servidor de arquivos FreeNAS (baseado em BSD). Ele é executado com a versão mais recente do FreeBSD, que é modificada para suportar vários protocolos para transferências de arquivos e muito mais. Cada máquina que está por trás do meu roteador Smoothwall (baseado em Linux) está na sub-rede 192.168.0.x usual e na maior parte funciona bem. Atrás da caixa Smoothwall, todas as máquinas são conectadas a um switch não gerenciado GB HP. Eu hospedo um grande WISP aqui e tenho uma conexão OC-3 aqui em casa / trabalho e não tenho problemas com o download / upload de / para o 'net'.

Meu problema é com taxa de transferência. Quando eu tento e transfiro arquivos grandes ... realmente qualquer para esse assunto ... entre qualquer uma das máquinas para / e do servidor FreeNAS via FTP, o throughput máximo que eu posso conseguir dizer entre uma caixa Win 7 ou Linux é ~ 65Mbit / seg. Todas as máquinas estão executando placas de rede Intel Pro de 1000 GB e todo o cabo é CAT6. Cada um está definido para 'negociação automática' e cada um mostra 1500 MTU Full Duplex @ 1GB, então eu sei que o hardware está bem. Eu não ajustei o MTU em qualquer máquina, como eu entendo que seja inútil, a menos que certas configurações sejam usadas (suponho que não sou uma delas). Minhas configurações para a máquina FreeNAS são as seguintes:

# FreeNAS /etc/sysctl.conf  - pertinent settings shown

kern.ipc.maxsockbuf=262144
kern.ipc.nmbclusters=32768
kern.ipc.somaxconn=8192
kern.maxfiles=65536
kern.maxfilesperproc=32768
net.inet.tcp.delayed_ack=0
net.inet.tcp.inflight.enable=0
net.inet.tcp.path_mtu_discovery=0
net.inet.tcp.recvbuf_auto=1
net.inet.tcp.recvbuf_inc=524288
net.inet.tcp.recvbuf_max=16777216
net.inet.tcp.recvspace=65536
net.inet.tcp.rfc1323=1
net.inet.tcp.sendbuf_inc=16384
net.inet.tcp.sendbuf_max=16777216
net.inet.tcp.sendspace=65536
net.inet.udp.recvspace=65536
net.local.stream.recvspace=65536
net.local.stream.sendspace=65536
net.inet.tcp.hostcache.expire=1

Pelo que eu posso dizer, parece ser um perfil um pouco otimizado para uma máquina BSD típica atuando como um servidor para uma LAN. Eu posso estar errado e só queria saber de alguém que conhece o BSD melhor do que eu, se de fato está tudo bem ou se algo está fora de sintonia ou o quê. Existem outras maneiras que eu encontraria para transferências de arquivos P2P?

Eu sinceramente não sei o que eu DEVO procurar em termos de taxa de transferência entre a caixa NAS e outro cliente quando xferring arquivos via FTP, mas me disseram que o que eu ganho em média (40-70MB / seg) é muito baixo para o que poderia ser.

Eu pensei em adicionar outro NIC na caixa FreeNAS, assim como na máquina Win7 e usar um cabo X-over através de uma rota estática, mas queria verificar com alguém primeiro para ver se isso pode valer a pena ou não. Eu não sei se fazer isso iria ignorar o switch HP GB e permitir que uma máquina trabalhe com xfer de qualquer maneira.

O cliente de FTP que eu uso é: Filezilla e tentei os modos ativo e passivo sem ganho real um sobre o outro. A caixa NAS executa o ProFTPD.

    
por voretaq7 16.10.2009 / 21:59

1 resposta

1

Essas questões parecem ter ficado obsoletas, mas há várias sugestões ótimas nos comentários que podem resolver o problema. Além disso, o Manual do FreeBSD tem uma seção inteira sobre ajuste de desempenho (atualizada a cada nova versão, e sempre informações razoavelmente atualizadas / bons conselhos).

Caso nenhuma das opções acima ajude, pode valer a pena tentar um teste direto de velocidade da rede (use o netcat para enviar um grande fluxo de bytes e determinar a taxa de transferência da rede) - Isso tornará possível determinar se o desempenho é ruim é relacionado à rede (e permite que você teste a rede em estágios: cabo crossover, através do switch, etc.) ou vindo de outra fonte, como latência de disco.

    
por 28.11.2011 / 18:47