Ubuntu server 10.04 64bit + Samba 3.x + Contmatic

Iniciado por maxquessada, 18 de Outubro de 2010, 16:21

tópico anterior - próximo tópico

galactus

Pra mim tá normal para uma rede 10/100!  Aqui eu consigo 9/10MB/s no talo! Tanto no envio como no recebimento! Meu servidor não tem parte gráfica!

Vou dar uma olhada na minha configuração, acho que pode melhorar mais um pouco as coisas aí, mas você vai ter que escolher entre arquivos grandes ou pequenos!
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

maxquessada

#16
Citação de: galactus online 21 de Outubro de 2010, 12:16
Pra mim tá normal para uma rede 10/100!  Aqui eu consigo 9/10MB/s no talo! Tanto no envio como no recebimento! Meu servidor não tem parte gráfica!

Vou dar uma olhada na minha configuração, acho que pode melhorar mais um pouco as coisas aí, mas você vai ter que escolher entre arquivos grandes ou pequenos!

O que seria arquivos pequenos ou grandes?

No exemplo estava usando arquivo grande acima de 1gb, mas estava dando uma olhada nos arquivos que o programa abre eles para mim são pequenos.

Agora para o que realmente preciso que são arquivos da Contmatic são arquivos *.lck de 25 bytes até uns grandes do programa que são *.btr de 70MB, isso vai de cada empresa aberta dentro do sistema e volume de dados de cada.

Não vejo a hora deste sistema ter um banco cliente/servidor em sql. Assim não teria problema e realmente usaria todo hardware que eu tenho.

Se puder dar uma ajuda para otimizar e chegar a ter essa transferência sua agradeço desde já.


Ps. em meus servidores slackware não usava interface gráfica, mas como estou no meu laptop com ubuntu desktop e vi que está muito baba, estou ficando preguiçoso e outra hardware tem bastante para os server que estou montando.

galactus

Tá, olhei aqui a minha configuração do servidor!

Tá faltando algumas coisas, mas não no samba!  É na configuração do TCP! Por padrão a configuração do TCP é estreita! Você pode fazer uma pesquisa sobre Tuning TCP - sysctl.conf!

Ou copiar a minha configuração que fica no arquivo sysctl.conf:

#nova configuração

net.ipv4.tcp_reordering = 20
net.ipv4.tcp_wmem = 8192 87380 16777216
net.ipv4.tcp_rmem = 8192 87380 16777216
net.ipv4.tcp_no_metrics_save = 1
net.ipv4.tcp_congestion_control = cubic
net.core.wmem_max = 16777216
net.core.rmem_max = 16777216


Outras coisas! Se você quiser máximo desempenho você pode recompilar o kernel! O meu é recompilado!  Coloca dentro do kernel o samba, os protocolos de TCP VEGAS, RENO e Cubic! O kernel do Ubuntu é muito cheio de coisas que você acaba não usando! 
Nessa instalação em modo gráfico do seu servidor, eu sugiro que você remova o máximo de coisas que você não usa! O Ubuntu desktop vem "atolado" de coisas que você não vai usar num servidor! Estão consumindo recursos  que você vai precisar!
Eu tiro:
Área de trabalho remota (não sei se você vai usar este recurso)
Assistente visual
Gerenciador de Bluetooth
Notificador do alarme do Evolution (por sinal eu removo todo o evolution)
Notificador de atualizações (eu  mesmo verifico as atualizações quase que diariamente)
Ubuntu One
apparmor
apport
brltty
bluetooth
speech-dispatcher
e etc...

Sugiro que você instale o pacote rcconf e como root remova ainda mais serviços desnecessários! É só rodar o comando como root: rcconf ! Remova o necessário e reinicie a máquina!

Você pode tentar usar o kernel de servidor do Ubuntu também!  Ele vai usar 100Mhz e sem "Preempt"!  Assim ele "guenta" mais requisições se o fervo for grande! Mas com essa máquina toda aí sua, eu acho difícil isso acontecer!

O global do meu samba está assim:


[global]
        workgroup = GRUPO
        os level = 2
        netbios name = Server
        server string = Servidor

        local master = yes
        preferred master = yes
        wins server = 192.168.0.254
        encrypt passwords = yes
        invalid users = root
        map to guest = bad user
        usershare max shares = 255
        include = /etc/samba/dhcp.conf
        ldap suffix =
        passdb backend = smbpasswd
        wins support = No
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

zekkerj

Rede a 100Mbps, não? A taxa de envio máxima teórica nessa rede é de 12,5MB/s. Vc está conseguindo entre 7 e 9MiB/s (lembrando que 1MB != 1MiB), então eu considero que vc está com resultados bons.

Melhor do que isso, só usando rede gigabit...
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

maxquessada

#19
Citação de: galactus online 22 de Outubro de 2010, 06:51
Tá, olhei aqui a minha configuração do servidor!

Tá faltando algumas coisas, mas não no samba!  É na configuração do TCP! Por padrão a configuração do TCP é estreita! Você pode fazer uma pesquisa sobre Tuning TCP - sysctl.conf!

Ou copiar a minha configuração que fica no arquivo sysctl.conf:

#nova configuração

net.ipv4.tcp_reordering = 20
net.ipv4.tcp_wmem = 8192 87380 16777216
net.ipv4.tcp_rmem = 8192 87380 16777216
net.ipv4.tcp_no_metrics_save = 1
net.ipv4.tcp_congestion_control = cubic
net.core.wmem_max = 16777216
net.core.rmem_max = 16777216


Outras coisas! Se você quiser máximo desempenho você pode recompilar o kernel! O meu é recompilado!  Coloca dentro do kernel o samba, os protocolos de TCP VEGAS, RENO e Cubic! O kernel do Ubuntu é muito cheio de coisas que você acaba não usando!  
Nessa instalação em modo gráfico do seu servidor, eu sugiro que você remova o máximo de coisas que você não usa! O Ubuntu desktop vem "atolado" de coisas que você não vai usar num servidor! Estão consumindo recursos  que você vai precisar!
Eu tiro:
Área de trabalho remota (não sei se você vai usar este recurso)
Assistente visual
Gerenciador de Bluetooth
Notificador do alarme do Evolution (por sinal eu removo todo o evolution)
Notificador de atualizações (eu  mesmo verifico as atualizações quase que diariamente)
Ubuntu One
apparmor
apport
brltty
bluetooth
speech-dispatcher
e etc...

Sugiro que você instale o pacote rcconf e como root remova ainda mais serviços desnecessários! É só rodar o comando como root: rcconf ! Remova o necessário e reinicie a máquina!

Você pode tentar usar o kernel de servidor do Ubuntu também!  Ele vai usar 100Mhz e sem "Preempt"!  Assim ele "guenta" mais requisições se o fervo for grande! Mas com essa máquina toda aí sua, eu acho difícil isso acontecer!

O global do meu samba está assim:


[global]
       workgroup = GRUPO
       os level = 2
       netbios name = Server
       server string = Servidor

       local master = yes
       preferred master = yes
       wins server = 192.168.0.254
       encrypt passwords = yes
       invalid users = root
       map to guest = bad user
       usershare max shares = 255
       include = /etc/samba/dhcp.conf
       ldap suffix =
       passdb backend = smbpasswd
       wins support = No


Valeu, vou fazer os testes aqui e te reporto depois.


Citação de: zekkerj online 22 de Outubro de 2010, 10:57
Rede a 100Mbps, não? A taxa de envio máxima teórica nessa rede é de 12,5MB/s. Vc está conseguindo entre 7 e 9MiB/s (lembrando que 1MB != 1MiB), então eu considero que vc está com resultados bons.

Melhor do que isso, só usando rede gigabit...


Beleza isso ai eu também sabia, só reportei para ver se tinha alguém, com hardware/configuração diferente e se conseguia mais velocidade na mesma infraestrutura de rede.

O que me deixou um pouco confuso aqui é como você disse "(lembrando que 1MB != 1MiB)" Eu pensava ser a mesma medida, mas não é
Agora do jeito que está esse print screen está estranho me corrija se eu estiver errado.

7,6MiB/s não era para ser 7,1 MB e sim 7,6MB seria 7,1MiB/s

Veja abaixo como está print screen

                                                                                   (editado pela moderação)

Olhe a operação de arquivo 7,1 MB/s e veja o monitor de rede tanto no server que está recebendo em 7,6 MiB e o envio 7,6 MiB

Veja essa calculadora e muitos outros tópicos google a fora dizem ser a mesma medida
http://easycalculation.com/bandwidth-calculator.php

Agora não era para estar ao contrário veja
http://noppatech.wordpress.com/2008/11/07/mb-to-mib-and-gb-to-gib-conversions/



zekkerj

Não é a mesma medida não. 1MiB == 1,024MB. Isso são mais ou menos 2,5% de diferença entre uma medida e outra. Isso estoura na hora de calcular o tamanho do HD, que é vendido em GB, e não em GiB. Assim, um HD de 250GB tem, na verdade, 232,8GiB.

A zica começa pq a taxa da rede é sempre definida em múltiplos de 1000, seguindo o SI. Assim, os 100Mbps da rede fastEthernet são realmente 100.000.000 bits por segundo, e não 104.857.600 bps.

A melhor forma de medir o desempenho da rede é fazer a transferência de um arquivo grande e cronometrar a operação. Repetindo a operação algumas vezes (5 a 10, dependendo da precisão que vc queira), você elimina o erro da sua cronometragem manual. Ao final, divida o tamanho do arquivo pela média dos tempos obtidos.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

maxquessada

Citação de: zekkerj online 22 de Outubro de 2010, 16:05
Não é a mesma medida não. 1MiB == 1,024MB. Isso são mais ou menos 2,5% de diferença entre uma medida e outra. Isso estoura na hora de calcular o tamanho do HD, que é vendido em GB, e não em GiB. Assim, um HD de 250GB tem, na verdade, 232,8GiB.

A zica começa pq a taxa da rede é sempre definida em múltiplos de 1000, seguindo o SI. Assim, os 100Mbps da rede fastEthernet são realmente 100.000.000 bits por segundo, e não 104.857.600 bps.

A melhor forma de medir o desempenho da rede é fazer a transferência de um arquivo grande e cronometrar a operação. Repetindo a operação algumas vezes (5 a 10, dependendo da precisão que vc queira), você elimina o erro da sua cronometragem manual. Ao final, divida o tamanho do arquivo pela média dos tempos obtidos.

Teste realizado cronometrando.
Peguei um arquivo grande compactado com rar e dividi em arquivos de 100, quando gerou o primeiro eu copiava para uma outra pasta e alterava o nome criando mais arquivos partindo do original de 100.

1 arquivo de 100MB 104857600 bytes tempos e 5 copias cada teste,


1 x100  100 MB 11,78 segundos.
2 x100  200 MB 23.90 segundos.
5 x100  500 MB 59,93 segundos.

att


zekkerj

Citar1 arquivo de 100MB 104857600 bytes tempos e 5 copias cada teste,
100MiB, não 100MB.

Citar1 x100  100 MB 11,78 segundos.
8,9MiB/s
Citar2 x100  200 MB 23.90 segundos.
8,8MiB/s
Citar5 x100  500 MB 59,93 segundos.
8,7MiB/s

Consistente, não?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

maxquessada

Ok....

Gostaria de ver esse teste em outra rede para ter um parâmetro, esse teste batem com seu?  zekkerj


att

zekkerj

Minha rede é gigabit, mas não é samba. Não sei se seria um bom parâmetro.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

maxquessada

Citação de: zekkerj online 22 de Outubro de 2010, 20:07
Minha rede é gigabit, mas não é samba. Não sei se seria um bom parâmetro.

Mas mande ai um teste seu para ter uma idéia.... Em 100 Mb/s com samba

Vou aguardar mais alguém que possa fazer esse teste para mim.

Eu fiquei com uma dúvida agora e não estou achando uma resposta, na otimizações da configuração do samba eu acrescentei
veto oplock files = /*.NTX/*.ntx/*.exe/*.lck/*.LCK/*.Def/*.Imp/*.BTR

O que significa isso?

 

galactus

Citação de: maxquessada online 22 de Outubro de 2010, 20:24
Citação de: zekkerj online 22 de Outubro de 2010, 20:07
Minha rede é gigabit, mas não é samba. Não sei se seria um bom parâmetro.

Mas mande ai um teste seu para ter uma idéia.... Em 100 Mb/s com samba

Vou aguardar mais alguém que possa fazer esse teste para mim.

Eu fiquei com uma dúvida agora e não estou achando uma resposta, na otimizações da configuração do samba eu acrescentei
veto oplock files = /*.NTX/*.ntx/*.exe/*.lck/*.LCK/*.Def/*.Imp/*.BTR

O que significa isso?

 

Nossa, o lance do veto oplock files eu não sabia!

Dá uma lida aqui que explica em detalhes: http://oreilly.com/catalog/samba/chapter/book/ch05_05.html


Fiz o teste entre meu servidor e o PC e as leituras são estas mostradas a baixo:

Arquivos de 550MB! 

Do PC para o servidor:




Do Servidor para o PC:




Transferência simultânea PC/servidor - servidor/PC



 


Como você pode ver as taxas sempre se mantém acima dos 9mb/s!
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

maxquessada

Valeu... galactus

Pelo que vi estamos semelhantes.
Hoje irei fazer os teste no cliente ai reporto como ficou lá em produção.


maxquessada

Estou na rede do cliente e estou ainda com mesmo problema lentidão para abrir e fechar telas do programa contmatic no samba simultaneamente, se uma estação so acessa o server a rede fica normal, depois abrindo em mais uma estação ai vem a lentidão de abertura de janela e tudo mais.

Fiz os testes de arquivos copia e tudo mais esta do mesmo jeito que efetuei la em minha empresa.

Aqui ja troquei placa de rede, switch e nada ate agora, quando ponho o slack para rodar todos os testes e sistema nao tenho problemas

Nao sei mais o que fazer..... alguem tem uma luz....

zekkerj

Bem, se não é o Samba, tem que ser o Contmatic, não?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D