Geralmente, o Log de Intenção do ZFS (ZIL) é o gargalo do NFS de um servidor de arquivos ZFS. O ZFS obedece ao protocolo NFS de maneira muito rigorosa e garante que os dados das gravações síncronas realmente atinjam o disco antes de reportar sucesso ao gravador. O ZFS usa o ZIL para armazenar temporariamente esses dados antes de gravá-los em um bloco maior no pool. Se as gravações no seu ZIL forem lentas (alta latência), então o desempenho do NFS provavelmente será lento também. Um bom caso de teste desse problema é extrair um grande tarball (muitos arquivos) para a exportação NFS.
Existem pelo menos duas soluções para melhorar o desempenho do NFS:
- Use um dispositivo de armazenamento rápido e dedicado para o ZIL (pense em NVRAM ou SSD). Você pode até criar um espelho ZIL de dois dispositivos. Aviso: AFAIR não é possível remover um dispositivo ZIL depois de adicioná-lo a um pool. Pense duas vezes. Se você quiser tentar SSDs para você ZIL você pode querer ler este post interessante: um pouco estado sólido estável
-
Desative o ZIL no seu servidor de arquivos ZFS. Bem, isso, claro, quebra a promessa de protocolo de gravações síncronas com o risco de integridade de dados, mas será muito mais rápido. Leia esta parte do Guia de Ajuste do ZFS Evil > em> antes de tentar esta alternativa e certifique-se de compreender as consequências.