[FUG-BR] Melhorar a performance do servidor de NFS
Ari Arantes Filho
ari em dd.com.br
Segunda Setembro 8 16:29:49 BRT 2008
Pessoal,
Estamos com algumas dúvidas de como melhorar a performance do servidor de
NFS.
Seguem os testes feitos:
- 2 servidores IBM x3550 com HD SAS
Servidor 1: FreeBSD 7 atualizado como NFS Server
Servidor 2: FreeBSD 7 atualizado como NFS client
As placas de rede são gigabit e existe 1 switch também giga da 3COM
utilizado nos testes.
Vejam os tempos de gravação e iostats p/ a gravação local:
[root em ibmx3550vm01 ~]# time mkfile 500m /hd/teste.tmp
real 0m4.394s
user 0m0.008s
sys 0m0.854s
/hd é uma partição exportada no NFS server.
Resultado do iostat enquanto o comando acima era executado:
[root em ibmx3550vm01 ~]# iostat -c 1000
tty aacd0 cpu
tin tout KB/t tps MB/s us ni sy in id
2 47 0.00 0 0.00 0 0 0 0 100
0 130 0.00 0 0.00 0 0 0 0 100
1 46 63.12 457 28.14 0 0 4 0 96
0 43 63.92 1887 117.80 0 0 6 0 94
0 45 63.87 1895 118.21 0 0 5 0 95
0 45 63.90 1875 117.01 0 0 7 1 92
0 114 63.86 1874 116.88 0 0 5 0 94
0 45 62.22 9 0.55 0 0 0 0 100
0 44 55.00 18 0.97 0 0 0 0 100
0 44 0.00 0 0.00 0 0 0 0 100
via NFS
=======
resultado de:
[root em ibmx3550vm02 ~]# time mkfile 500m /mnt/storage/teste.tmp
real 0m17.661s
user 0m0.000s
sys 0m1.017s
O /mnt/storage é o ponto de montagem do NFS do servidor 01 (/hd).
Resultado da máquina NFS Server (01) enquanto era criado o arquivo pela
rede:
[root em ibmx3550vm01 ~]# iostat -c 1000
tty aacd0 cpu
tin tout KB/t tps MB/s us ni sy in id
0 44 0.00 0 0.00 0 0 0 0 100
0 44 16.00 292 4.56 0 0 4 0 96
0 43 16.00 1969 30.77 0 0 6 2 92
0 44 16.00 1857 29.02 0 0 5 2 93
0 44 16.00 1852 28.94 0 0 3 2 96
0 44 16.00 1851 28.92 0 0 3 2 95
0 44 16.00 1849 28.89 0 0 4 2 93
0 44 16.00 1855 28.99 0 0 4 2 95
0 44 16.00 1867 29.17 0 0 5 2 93
0 44 16.00 1965 30.70 0 0 5 2 94
0 44 16.00 1853 28.96 0 0 5 2 94
0 44 16.00 1884 29.44 0 0 5 3 92
0 44 16.00 1947 30.42 0 0 6 2 92
0 44 16.00 1852 28.94 0 0 6 2 92
0 44 16.00 1959 30.61 0 0 6 2 93
0 44 16.00 1877 29.33 0 0 5 2 93
0 44 16.00 1923 30.05 0 0 5 2 92
0 130 16.00 1911 29.86 0 0 6 2 92
0 44 16.00 1848 28.88 0 0 5 3 92
0 44 16.00 530 8.29 0 0 3 0 97
0 43 16.00 1 0.02 0 0 0 0 100
Vejam que a taxa de IO pelo NFS não passa de 30 MB/s, enquanto localmente
faz mais de 110 MB/s. O número de tps estão semelhantes.
Como podemos fazer para melhorar a performance do NFS? Existem 4 daemons do
NFS e está configurado usando UDP. A configuração está default.
Alguma dica para melhorar os tempos de gravação pelo NFS? Sei que melhor que
localmente não fica, mas a diferença é grande. Tem espaço de processamento
de disco sobrando e não está sendo consumido, fazendo com que os tempos
fiquem piores.
Obrigado,
Ari
Mais detalhes sobre a lista de discussão freebsd