desempenho RAIDZ1 vs. RAID5 convencional
Why do I get lower read than write performance? Shouldn't write converge to the speed of 3 discs and read to the speed of 4 discs, like a RAID5?
Veja este tópico em ServerFault :
RAIDZ with one parity drive will give you a single disk's IOPS performance, but n-1 times aggregate bandwidth of a single disk.
E este comentário:
I have a significant amount of experience with this, and can confirm for you that in most situations, RAIDZ is NOT going to outperform the same number of disks thrown into a traditional RAID5/6 equivalent array.
Seus discos podem sustentar cerca de 145 MB / s sequencialmente, então seus resultados teóricos devem ser de 435 MB / s. Eu diria que isso corresponde muito de perto aos seus resultados.
Cache L2ARC para leituras sequenciais
Why doesn't kick the l2arc kick in? After multiple reads with no other data being read, I would have expected a read performance similar to the 1GB/s of the SSD RAID0.
Dê uma olhada em esta postagem na lista de discussão :
Is ARC satisfying the caching needs?
e
Post by Marty Scholes Are some of the reads sequential? Sequential reads don't go to L2ARC.
Então, suas principais razões são:
- Sua carga (aleatória) já é fornecida pelo ARC e o L2ARC não é necessário (porque seus dados eram sempre os mesmos e podem permanecer no ARC completamente). Idéia por trás disso: ARC é muito mais rápido que L2ARC (RAM vs. SSD), então sua primeira escolha para leituras é sempre ARC, você precisa de L2ARC apenas porque seus dados ativos são grandes demais para memória, mas o acesso ao disco aleatório é lento demais discos.
- Seu benchmark foi de natureza sequencial e, portanto, não foi fornecido pela L2ARC. Idéia por trás disso: leituras seqüenciais envenenariam o cache, porque uma única leitura grande de arquivo preencheria o cache completamente e removeria milhões de pequenos blocos de outros usuários (o ZFS é otimizado para acesso aleatório simultâneo de muitos usuários), embora não tenha nenhum efeito sua velocidade na primeira leitura. Na segunda leitura, seria mais rápido, mas normalmente você não lê arquivos grandes duas vezes. Talvez você possa modificar o comportamento com os tuneables do ZFS.
Várias perguntas
Should I use part of the SSDs for ZIL?
Um dispositivo SLOG separado ajudará apenas para gravações sincronizadas aleatórias, nada mais. Para testar isso, é bastante simples: defina sua propriedade do sistema de arquivos de referência sync
para disabled
: zfs set sync=disabled pool/fs
e, em seguida, faça o benchmark novamente. Se o seu desempenho for agora de repente ótimo, você será beneficiado. Se não mudar muito, você não vai.
PS: Why does cache look like a pool named cache, not something that belongs to the pool data?
Acho que é assim porque esses dispositivos extras (peças de reposição, caches, dispositivos de slog) também podem consistir em vários vdevs. Por exemplo, se você tem um dispositivo slog espelhado, você teria os mesmos 3 níveis, como o seu disco normal (log-mirror-disk1 / disk2).