Melhora a performance do Samba

Dicas e conf's para servidores Linux
Avatar do usuário
marcelo0786
Global Moderator
Global Moderator
Mensagens: 127
Registrado em: 17 Jun 2013 17:43
Status: Offline

Melhora a performance do Samba

Mensagem por marcelo0786 »

Você poderá ouvir reclamações de que o servidor está lento na transferência de arquivos ou demorando para permitir o logon nas máquinas.
Em alguns caso, basta adicionar a linha abaixo que resolve o problema. Essa linha deve ser adicionada na seção [global]

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

O parâmetro do socket options permite realizar um ajuste fino na forma de como o servidor Samba e as máquinas se comunicam na rede.
Você ainda pode testar com outras combinações até que o servidor passe a responder de forma mais rápida. Os parâmetros são:

* SO_KEEPALIVE
* SO_REUSEADOR
* SO_BROADCAST
* TCP_NODELAY
* IPTOS_LOWDELAY
* IPTOS_THROUGHPUT
* SO_SNDBUF (precisa de um valor)
* SO_RCVBUF (precisa de um valor)
* SO_SNDLOWAT (precisa de um valor)
* SO_RCVLOWAT (precisa de um valor)

Habilite ou desabilite as funcções e verifique se a performance melhora.


Avatar do usuário
marcelo0786
Global Moderator
Global Moderator
Mensagens: 127
Registrado em: 17 Jun 2013 17:43
Status: Offline

Re:Melhora a performance do Samba

Mensagem por marcelo0786 »

Boa noite Senhores(as)!

No Guia Foca GNU/Linux encontrei as seguintes Melhorias de performance de compartilhamento/servidor para o Samba:

Obs: Espero que gostem...

Esta seção trará algumas formas de otimização do servidor SAMBA que fazem diferença quando os valores adequados são utilizados: A primeira é a ativação de um cache de gravação/leitura de arquivos. Este cache é feito pela opção write cache size e funciona fazendo o cache dos arquivos que serão lidos/gravados. Ele é esvaziado assim que o arquivo for fechado ou quando estiver cheio. O valor especificado nesta opção é em bytes e o padrão é "0" para não causar impacto em sistemas com pouca memória (ou centenas de compartilhamentos). Exemplo:

    [publico]
      path = /pub
      comment = Diretório de acesso público
      read only = yes
      public = yes
      write cache size = 384000
Compartilha o diretório /pub (path = /pub) como compartilhamento de nome publico ([publico]), seu acesso será feito como somente leitura (read only = yes) e o tamanho do cache de leitura/gravação reservado de 384Kb (write cache size = 384000).

Deixar a opção para seguir links simbólicos ativada (follow symlinks) garante mais performance de acesso a arquivos no compartilhamento. A desativação da opção wide links em conjunto com o uso de cache nas chamadas getwd (getwd cache) permite aumentar a segurança e tem um impacto perceptível na performance dos dados.

A desativação da opção global nt smb support também melhora a performance de acesso dos compartilhamentos. Esta é uma opção útil para detectar problemas de negociação de protocolo e por padrão, ela é ativada.

Caso utiliza um valor de depuração de log muito alto (debug level), o sistema ficará mais lento pois o servidor sincroniza o arquivo após cada operação. Em uso excessivo do servidor de arquivos, isso apresenta uma degradação perceptível de performance.

A opção prediction permite que o SAMBA faça uma leitura adiante no arquivo abertos como somente-leitura enquanto aguarda por próximos comandos. Esta opção associada com bons valores de write cache size pode fazer alguma diferença. Note que o valor de leitura nunca ultrapassa o valor de "read size".

A opção read size permite obter um sincronismo fino entre a leitura e gravação do disco com o envio/recebimento de dados da rede. O valor é dependente da instalação local, levando em consideração a velocidade de disco rígido, rede, etc. O valor padrão é 16384.

Em casos onde um NFS montado ou até mesmo leitura em discos locais é compartilhada, o parâmetro strict locking definido para yes pode fazer alguma diferença de performance. Note que nem todos os sistemas ganham performance com o uso desta opção e não deve ser usada em aplicativos que não requisitam o estado do lock de arquivo ao servidor.

Caso você possua aplicativos que fazem o lock corretamente de arquivos, você poderá usar o share modes = no, isto significa que futuras aberturas de arquivo podem ser feitas em em modo leitura/gravação. Caso utiliza um aplicativo muito bem programado que implementa de forma eficiente de lock, você poderá desativar esta opção.

O uso de oplocks yes em compartilhamentos aumenta a performance de acesso a arquivos em até 30%, pois utiliza um código de cache no cliente. Tenha certeza do que está fazendo antes de sair usando oplocks em tudo que é lugar. A desativação de kernel oplocks é necessária para que isto funcione.

A opção read raw e write raw devem ter seus valores experimentados para ver se faz diferença na performance da sua rede, pois é diretamente dependente do tipo de cliente que sua rede possui. Alguns clientes podem ficar mais lentos em modo de leitura raw.

O tipo de sistema de arquivos adotado na máquina e suas opções de montagem tem um impacto direto na performance do servidor, principalmente com relação a atualização de status dos arquivos no sistema de arquivos (hora de acesso, data, etc).

O cache de leitura adiante de abertura de arquivos em modo somente leitura aumenta a performance com o uso do oplocks nível 2. Para isto, ajuste a opção level2 oplocks para yes. A recomendação deste tipo de oplock é o mesmo do nível 1.

Como o SAMBA faz o transporte NetBEUI via TCP/IP, ajustes no socket fazem diferença nos dados que trafegam na rede. Como isso é dependente de rede você precisará usar técnicas de leitura/gravação para determinar quais são as melhores que se encaixam em seu caso. A opção socket options é usada para fazer tais ajustes, por exemplo:

    socket options = SO_SNDBUF=2048 IPTOS_THROUGHPUT=1
Em especial, a opção TCP_NODELAY apresenta uma perceptível melhoria de performance no acesso a arquivos locais.

OBS:: Não use espaços entre o sinal de "=" quando especificar as opções do parâmetro socket options.
Responder

Voltar para “Servidores”