
Atualizei as unidades em um array Raidz de 4 unidades em um servidor NAS e o array foi expandido automaticamente para o novo tamanho. Ao testar as taxas de transferência do servidor NAS, agora observo que, ao realizar grandes transferências de leitura, o desempenho é ruim, lutando para ficar acima de 10 MB/s, embora o iotop e o zpool iostat possam relatar números muito altos de até 500 MB/s. O que poderia estar levando a isso comportamento estranho? À medida que tenho atualizado o array, também posso observar que ele funciona da mesma forma, quer haja 4 dispositivos online ou degradados para 3.
O servidor está conectado com uma conexão de rede de um único gigabit e pode saturá-lo com uma única unidade usando ext4
Responder1
Descobri que, enquanto estava experimentando as configurações de cache para ver o que aconteceria, deixei o cache primário desligado, o que pode resultar em IO real muito maior que o IO lógico devido a
[aplicativo] lê um arquivo, obtém 4k (tamanho da página?) De dados e os processa, depois lê os próximos 4k, etc.
O ZFS, entretanto, não consegue ler apenas 4k. Ele lê 128k (tamanho do registro) por padrão. Como não há cache (você o desativou), o restante dos dados é descartado.
128k / 4k = 32
32 x 2,44 GB = 78,08 GB