Os sistemas de arquivos estruturados Copiar na Gravação e Log Intuitivamente podem oferecer melhor desempenho em discos shingled, reduzindo reduções aleatórias de gravação. Os benchmarks suportam um pouco isso, no entanto, essas diferenças no desempenho não são específicas para discos shingled. Eles também ocorrem em um disco sem shingled usado como controle. Portanto, a mudança para um disco com shingled pode não ter muita relevância para a sua escolha do sistema de arquivos.
O sistema de arquivos nilfs2 apresentou um desempenho bastante bom no disco SMR. No entanto, isso foi porque eu aloquei toda a partição de 8 TB, e o benchmark escreveu apenas ~ 0,5 TB, para que o limpador nilfs não precise ser executado. Quando limitei a partição a 200 GB, os benchmarks nilfs nem foram concluídos com êxito. O Nilfs2 pode ser uma boa escolha em termos de desempenho, se você realmente usar o disco "archive" como um disco de archive, onde mantém todos os dados e instantâneos gravados no disco para sempre, pois o nilfs cleaner não precisa ser executado.
Entendo que a ST8000AS0002-1NA17Z
unidade seagate de 8 TB que usei para o teste possui uma área de cache de ~ 20 GB . Alterei as configurações padrão do servidor de arquivos do banco de arquivos para que os parâmetros de referência fossem ~ 125 GB, maiores que a área de cache sem shingled:
set $meanfilesize=1310720
set $nfiles=100000
run 36000
Agora, para os dados reais. O número de operações mede o desempenho "geral" do servidor de arquivos enquanto o ms / op mede a latência do anexo aleatório e pode ser usado como um guia aproximado para o desempenho de gravações aleatórias.
$ grep rand *0.out | sed s/.0.out:/\ / |sed 's/ - /-/g' | column -t
SMR8TB.nilfs appendfilerand1 292176ops 8ops/s 0.1mb/s 1575.7ms/op 95884us/op-cpu [0ms - 7169ms]
SMR.btrfs appendfilerand1 214418ops 6ops/s 0.0mb/s 1780.7ms/op 47361us/op-cpu [0ms-20242ms]
SMR.ext4 appendfilerand1 172668ops 5ops/s 0.0mb/s 1328.6ms/op 25836us/op-cpu [0ms-31373ms]
SMR.xfs appendfilerand1 149254ops 4ops/s 0.0mb/s 669.9ms/op 19367us/op-cpu [0ms-19994ms]
Toshiba.btrfs appendfilerand1 634755ops 18ops/s 0.1mb/s 652.5ms/op 62758us/op-cpu [0ms-5219ms]
Toshiba.ext4 appendfilerand1 466044ops 13ops/s 0.1mb/s 270.6ms/op 23689us/op-cpu [0ms-4239ms]
Toshiba.xfs appendfilerand1 368670ops 10ops/s 0.1mb/s 195.6ms/op 19084us/op-cpu [0ms-2994ms]
Como o Seagate é 5980RPM, pode-se esperar ingenuamente que o Toshiba seja 20% mais rápido. Esses benchmarks mostram que é aproximadamente três vezes (200%) mais rápido, portanto, esses benchmarks estão atingindo a penalidade de desempenho. Vemos que o disco com shingled (SMR) ainda não pode corresponder ao desempenho ext4 em um disco sem shingled (PMR). O melhor desempenho foi com o nilfs2 com uma partição de 8 TB (portanto, o limpador não precisava ser executado), mas mesmo assim foi significativamente mais lento que o Toshiba com o ext4.
Para tornar os benchmarks acima mais claros, pode ser normalizá-los em relação ao desempenho do ext4 em cada disco:
ops randappend
SMR.btrfs: 1.24 0.74
SMR.ext4: 1 1
SMR.xfs: 0.86 1.98
Toshiba.btrfs: 1.36 0.41
Toshiba.ext4: 1 1
Toshiba.xfs: 0.79 1.38
Vimos que, no disco SMR, o btrfs tem a maior vantagem nas operações gerais que no ext4, mas a penalidade em anexos aleatórios não é tão dramática quanto uma proporção. Isso pode levar alguém a mudar para btrfs no disco SMR. Por outro lado, se você precisar de anexos aleatórios de baixa latência, este benchmark sugere que você deseja xfs, especialmente no SMR. Vemos que, embora o SMR / PMR possa influenciar sua escolha do sistema de arquivos, considerar a carga de trabalho que você está otimizando parece mais importante.
Também executei um benchmark baseado no sótão. As durações das execuções no sótão (nas partições de disco completo de 8 TB SMR) foram:
ext4: 1 days 1 hours 19 minutes 54.69 seconds
btrfs: 1 days 40 minutes 8.93 seconds
nilfs: 22 hours 12 minutes 26.89 seconds
Em cada caso, os repositórios do sótão tinham as seguintes estatísticas:
Original size Compressed size Deduplicated size
This archive: 1.00 TB 639.69 GB 515.84 GB
All archives: 901.92 GB 639.69 GB 515.84 GB
A adição de uma segunda cópia do mesmo disco de 1 TB ao sótão levou 4,5 horas em cada um desses três sistemas de arquivos. Um despejo bruto dos benchmarks e smartctl
informações está em:
http://pastebin.com/tYK2Uj76
https://github.com/gmatht/joshell/tree/master/benchmarks/SMR