Medição de velocidade estranha da cópia do arquivo ZFS over AFP

0

Eu verifiquei a velocidade do meu servidor de armazenamento ZFS. Tenho alguns arquivos grandes (> 30 GB) e estou usando dd canalizado para /dev/null para verificar a velocidade de leitura.

Ao executar dd para um arquivo específico pela primeira vez, estou obtendo um resultado consistente de aproximadamente 95 MB / s. Eu usei os dois sinais e pv para monitorar o progresso e eles deram resultados iguais.

No entanto, ao executar dd pela segunda vez, acontece algo incomum:

407+0 records in
406+0 records out
425721856 bytes (426 MB, 406 MiB) copied, 4.61932 s, 92.2 MB/s
911+0 records in
910+0 records out
954204160 bytes (954 MB, 910 MiB) copied, 9.66672 s, 98.7 MB/s
1412+0 records in
1411+0 records out
1479540736 bytes (1.5 GB, 1.4 GiB) copied, 14.7018 s, 101 MB/s
12374+0 records in
12373+0 records out
12974030848 bytes (13 GB, 12 GiB) copied, 19.7579 s, 657 MB/s
12854+0 records in
12853+0 records out
13477347328 bytes (13 GB, 13 GiB) copied, 24.7491 s, 545 MB/s

O que causa o pico repentino de 1,5 a 13 GB? Eu acho que o cache do ZFS é responsável (o servidor tem 64 GB de RAM, por isso é possível), mas o servidor (FreeBSD) está conectado ao meu cliente (OSX) por um único link de 1 Gbps que definitivamente não suporta 657 MB / s Rapidez. A compactação também é improvável, pois o arquivo contém dados quase aleatórios.

Edit: Desculpe, talvez eu tenha feito minha pergunta de maneira confusa.

Eu tenho um servidor FreeBSD com sistema de arquivos ZFS. Este servidor compartilha o arquivo usando o protocolo AFP. Eu me conecto a ele usando um PC de mesa executando o OSX 10.10. E é claro que corro dd no cliente.

dd if=/Volumes/NetworkShare/testfile.dat of=/dev/null bs=1048576

Quando executado diretamente no servidor, dd mostra mais de 625 MB / s (o que parece OK, já que o zpool tem dados distribuídos por 8 unidades).

    
por user569120 10.03.2016 / 15:22

1 resposta

0

Antes de mais nada, inclua o comando dd que você usou para executar o teste. Como apontado no comentário, o arquivo escrito está crescendo, então é provável que algo não esteja certo (a menos que cada teste esteja copiando um arquivo diferente). Também neste ponto importa quão grandes pedaços de dados você está escrevendo, ou seja, a opção bs deve ser grande o suficiente. Veja este teste de velocidade do ZFS para um exemplo.

Em segundo lugar, você pode usar a ferramenta diskinfo para obter a velocidade máxima teórica do seu disco, por exemplo:

diskinfo -tv /dev/ada0

Em terceiro lugar, recomendo testar ferramentas diferentes para obter uma imagem mais ampla, por exemplo, iozone , mencionado no tópico que publiquei.

Por fim, quando você copia um arquivo para /dev/null , os dados nunca saem do servidor. Então, você está certo, a diferença de velocidade é provavelmente devido ao armazenamento em cache do ZFS. Tente copiar o arquivo pela rede e você não conseguirá mais de 100Mb / s (a velocidade teórica de um link de 1Gbit é de 125Mb / s).

    
por 10.03.2016 / 16:06