Desempenho para ZVOLs apresentados sobre iSCSI?

4

Eu tenho a seguinte configuração para teste: HP Microserver N36L (Athlon64 de baixo consumo de núcleo duplo) 8 GB de RAM ECC 2 portas Intel Gigabit NIC 4x3TB WD Green (5400 RPM?) 1 disco sata para imagem do sistema operacional (FreeBSD 10.1)

O switch é um HP v1910-24G (switch gerenciado L2, 24 portas gigabit)

O cliente é: Core i5 2400 na placa-mãe DH67BL 24 GB de RAM 1 Intel Gigabit (onboard)

A máquina FreeBSD expõe seus zvols sobre o iSCSI e o iniciador é o Windows. No Windows, os volumes iSCSI são formatados para NTFS e o VMWare Workstation usa-o como disco para outras VMs (neste caso, uma VM do Windows 7 também).

Eu tentei várias configurações para zvols, principalmente volblocksizes de valores variados, de 4k a 64k, e tamanhos de cluster NTFS de 4 a 64k também. Eu tentei combinações de tamanho de cluster = blocksize e tamanho de bloco > tamanho do cluster.

Em todos os casos, fico basicamente o mesmo:

As leituras sequenciais estão em 110-120MB / s (limite Gigabit Ethernet). Leituras aleatórias são < 5MB / s

Copiar arquivos grandes fora ou dentro das VMs é aceitável. A inicialização de janelas é dolorosamente lenta (> 3 minutos em uma nova instalação para a tela de login. 1 minuto a mais para a área de trabalho)

Esse comportamento é esperado?

    
por hjf 15.02.2015 / 17:45

2 respostas

2

Essa configuração tem muitos componentes e decisões de design que contribuem para seu desempenho insatisfatório.

  • O HP Microserver é um item de baixo desempenho. CPU com restrições de RAM e de baixo custo.

  • As unidades Western Digital Green têm RPM baixo e requerem consideração especial para sua formatação no setor 4k. Esse é provavelmente o principal problema.

  • Parece que você pode estar usando o RAIDZ1 em três discos. O desempenho aleatório de leitura / gravação sob essa configuração também é bastante baixo. Espere ver o desempenho de um único disco em ambos os casos.

  • Sem dispositivo de armazenamento em cache / ZIL.

  • 1GbE O iSCSI para um iniciador de software do Windows não é excelente.

  • O VMware Workstation definitivamente não ajuda.

  • Certos atributos do ZFS podem funcionar contra você aqui: dedupe é ruim. A compactação gzip é ruim (o lz4 está bem). Demasiada RAM alocada para ARC é ruim.

por 15.02.2015 / 18:17
1

Os HDDs Mecânicos lutam contra o acesso aleatório de E / S.

4x WD Green que lhe dão 5 MB / s de desempenho de leitura aleatória é ainda melhor do que eu esperava.
Alguma matemática: a 5400 RPM, uma rotação simples precisa de 11 ms, então uma meia rotação precisa ~ 5.5ms. Este é o atraso rotacional . Adicionando mais ~ 8ms de tempo de busca (o tempo que o atuador precisa para posicionar corretamente as cabeças de leitura / gravação) aumenta o tempo total para ~ 13ms. Isso significa que IOPS por disco único é de 1000 ms (1 seg) / 13ms = ~ 76 IOPS. Na leitura aleatória de 4K, isso é traduzido em ~ 300 KB / s

Considerando como o ZFS RAIDZ em si é muito ruim em termos de IOPS (é por design: o ZFS sacrifica IOPS para segurança de dados, leia aqui para mais detalhes) Estou surpreso que você tenha 5 MB / s de desempenho de leitura aleatória. Você testou com leituras aleatórias de 4KB ou maiores (por exemplo: 64KB)?

Voltar para o seu problema original: Eu acho que é uma combinação de pequenos volblocksize / recordsize iSCSI, volts RAIDZ e 4K discos. No RAIDZ Vols, cada leitura / gravação é dividida pelo número de discos de dados e depois encaminhada para os discos físicos. Por exemplo, na sua configuração, uma única gravação de 8K será dividida em várias gravações ~ 3KB (3x 3KB para dados e 1x 3KB para paridade) e isso acionará uma leitura-modificação-gravação nos próprios discos (como são 4K discos baseados). Como a inicialização do Windows é aleatória, ela pode ser afetada pelo comportamento de seus discos.

Tente isto: se você puder destruir seu ZPOOL / ZDEV, destruí-lo e recriá-lo com volblocksize de 16K ou 32K (veja aqui ). Em seguida, reinstale uma máquina Windows e tente novamente seu cenário.

    
por 17.02.2015 / 15:45