Este tópico descreve como usar a ferramenta FIO para testar o throughput e as operações de entrada/saída por segundo (IOPS) de um sistema de arquivos em Linux e Windows.
Pré-requisitos
Crie e monte um sistema de arquivos em uma instância do Elastic Compute Service (ECS). Para mais informações, consulte Quick Start.
Informações básicas
As métricas de performance apresentadas neste tópico baseiam-se em testes realizados em sistemas Linux e Windows com a ferramenta FIO. Esses resultados servem como referência de performance para o File Storage NAS. Para obter as métricas oficiais de performance do File Storage NAS, use múltiplas instâncias ECS nos testes. Para consultar as métricas oficiais, acesse File Storage NAS.
Precauções
Antes de testar a performance, observe os pontos a seguir.
-
O throughput máximo não pode exceder a largura de banda interna da instância ECS. Se a largura de banda interna for muito baixa, o throughput será limitado.
Por exemplo, se você adquirir um sistema de arquivos NAS de capacidade de uso geral com a menor capacidade, seu throughput inicial de leitura será de 150 MB/s. Caso sua instância ECS tenha uma largura de banda interna de 100 Mbps, o throughput máximo será de 12,5 MB/s. Para testar até 150 MB/s, são necessárias pelo menos 12 instâncias ECS. Se a largura de banda interna da instância ECS for de 1 Gbps, o throughput máximo será de 125 MB/s. Nesse cenário, para atingir 150 MB/s, são necessárias no mínimo 2 instâncias ECS.
No Linux, o cliente NFS limita o número de requisições NFS simultâneas. O valor padrão no kernel compilado é 2, o que afeta severamente a performance. Após instalar o cliente NFS, modifique o número de requisições NFS simultâneas para melhorar a performance do NFS. Para mais informações, consulte How do I modify the number of concurrent NFS requests?.
No Windows, a performance de um sistema de arquivos NAS com protocolo NFS é limitada pela execução sequencial de requisições para um único sistema de arquivos pelo cliente NFS do Windows. Ajuste o parâmetro
-numjobspara aumentar o número de arquivos no teste com FIO.
Procedimento
Conecte-se remotamente à instância ECS. Para mais informações, consulte Connection methods.
-
Instale a ferramenta FIO. Caso a ferramenta já esteja instalada, pule esta etapa.
-
Sistema operacional Linux
Sistema operacional
Comando de instalação
CentOS
sudo yum install fioRedhat
Alibaba Cloud Linux
Ubuntu
Execute os seguintes comandos em sequência:
sudo apt-get updatesudo apt-get install fio
Debian
-
Sistema operacional Windows
Baixe o pacote de instalação do FIO no formato MSI no site oficial do FIO e instale-o.
-
-
Execute os comandos de teste de performance.
Para os comandos de teste em Linux, consulte Performance test commands for Linux.
Para os comandos de teste em Windows, consulte Performance tests in Windows.
Comandos de teste de performance para Linux
Esta seção usa um sistema de arquivos NAS de capacidade de uso geral como exemplo. Execute os comandos abaixo em uma única instância ECS Linux para testar a performance.
-
IOPS de leitura aleatória:
fio -numjobs=1 -iodepth=128 -direct=1 -ioengine=libaio -sync=1 -rw=randread -bs=4K -size=1G -time_based -runtime=60 -name=Fio -directory=/mntExemplo de resultado do teste:
Fio_168690241742: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=128 fio-3.7 Starting 1 process Fio_168690241742: Laying out IO file (1 file / 1024MiB) Fio_168690241742: (groupid=0, jobs=1): err= 0: pid=24515: Fri Jun 16 16:01:21 2023 read: IOPS=15.1k, BW=59.1MiB/s (61.0MB/s)(3562MiB/60258msec) slat (usec): min=2, max=142291, avg= 5.22, stdev=149.03 clat (usec): min=607, max=4629.5k, avg=8451.38, stdev=19797.83 lat (usec): min=650, max=4629.5k, avg=8456.67, stdev=19798.32 lat percentiles (usec): | 1.00th=[ 758], 5.00th=[ 816], 10.00th=[ 857], 20.00th=[ 938], | 30.00th=[ 1037], 40.00th=[ 1172], 50.00th=[ 1352], 60.00th=[ 1680], | 70.00th=[ 3163], 80.00th=[ 17957], 90.00th=[ 20055], 95.00th=[ 22414], | 99.00th=[ 83362], 99.50th=[ 92799], 99.90th=[175113], 99.95th=[278922], | 99.99th=[517997] bw ( KiB/s): min=58584, max=169104, per=100.00%, avg=60776.15, stdev=10028.08, samples=120 iops : min=14646, max=42276, avg=15193.99, stdev=2507.02, samples=120 lat (usec) : 750=0.88%, 1000=25.93% lat (msec) : 2=38.35%, 4=5.66%, 10=1.74%, 20=17.00%, 50=8.61% lat (msec) : 100=1.48%, 250=0.29%, 500=0.07%, 750=0.01%, 1000=0.01% cpu : usr=2.86%, sys=11.57%, ctx=525042, majf=0, minf=160 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=100.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.1% issued rwts: total=911950,0,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=128 Run status group 0 (all jobs): READ: bw=59.1MiB/s (61.0MB/s), 59.1MiB/s-59.1MiB/s (61.0MB/s-61.0MB/s), io=3562MiB (3735MB), run=60258-60258msec -
IOPS de gravação aleatória:
fio -numjobs=1 -iodepth=128 -direct=1 -ioengine=libaio -sync=1 -rw=randwrite -bs=4K -size=1G -time_based -runtime=60 -name=Fio -directory=/mntExemplo de resultado do teste:
Fio_168690232321: (g=0): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=128 fio-3.7 Starting 1 process Fio_168690232321: Laying out IO file (1 file / 1024MiB) Fio_168690232321: (groupid=0, jobs=1): err= 0: pid=24409: Fri Jun 16 15:59:44 2023 write: IOPS=15.2k, BW=59.4MiB/s (62.3MB/s)(3567MiB/60008msec) slat (usec): min=2, max=5193, avg= 4.94, stdev= 5.58 clat (usec): min=1596, max=148914, avg=8405.03, stdev=4954.14 lat (usec): min=1601, max=148918, avg=8410.06, stdev=4954.12 lat percentiles (usec): | 1.00th=[ 2966], 5.00th=[ 3687], 10.00th=[ 4113], 20.00th=[ 4686], | 30.00th=[ 5145], 40.00th=[ 5735], 50.00th=[ 6259], 60.00th=[ 6849], | 70.00th=[10552], 80.00th=[14222], 90.00th=[15401], 95.00th=[16319], | 99.00th=[18482], 99.50th=[21103], 99.90th=[38536], 99.95th=[44303], | 99.99th=[81265] bw ( KiB/s): min=56408, max=95856, per=99.99%, avg=60870.87, stdev=5497.41, samples=120 iops : min=14102, max=23964, avg=15217.70, stdev=1374.35, samples=120 lat (msec) : 2=0.01%, 4=8.61%, 10=61.08%, 20=29.70%, 50=0.57% lat (msec) : 100=0.02%, 250=0.01% cpu : usr=2.67%, sys=8.95%, ctx=216723, majf=0, minf=27 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=100.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.1% issued rwts: total=0,913236,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=128 Run status group 0 (all jobs): WRITE: bw=59.4MiB/s (62.3MB/s), 59.4MiB/s-59.4MiB/s (62.3MB/s-62.3MB/s), io=3567MiB (3741MB), run=60008-60008msec -
Throughput de leitura aleatória:
fio -numjobs=1 -iodepth=128 -direct=1 -ioengine=libaio -sync=1 -rw=randread -bs=1M -size=1G -time_based -runtime=60 -name=Fio -directory=/mntExemplo de resultado do teste:
Fio_168690251150: (g=0): rw=randread, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=libaio, iodepth=128 fio-3.7 Starting 1 process Fio_168690251150: Laying out IO file (1 file / 1024MiB) Fio_168690251150: (groupid=0, jobs=1): err= 0: pid=24616: Fri Jun 16 16:03:05 2023 read: IOPS=498, BW=500MiB/s (524MB/s)(29.4GiB/60257msec) slat (usec): min=80, max=251817, avg=98.36, stdev=1453.22 clat (msec): min=11, max=519, avg=256.37, stdev=17.04 lat (msec): min=11, max=519, avg=256.46, stdev=16.99 lat percentiles (msec): | 1.00th=[ 247], 5.00th=[ 255], 10.00th=[ 255], 20.00th=[ 255], | 30.00th=[ 255], 40.00th=[ 255], 50.00th=[ 257], 60.00th=[ 257], | 70.00th=[ 257], 80.00th=[ 257], 90.00th=[ 257], 95.00th=[ 257], | 99.00th=[ 271], 99.50th=[ 376], 99.90th=[ 481], 99.95th=[ 493], | 99.99th=[ 506] bw ( KiB/s): min=489472, max=532480, per=99.99%, avg=512076.73, stdev=3669.64, samples=120 iops : min= 478, max= 520, avg=500.03, stdev= 3.58, samples=120 lat (msec) : 20=0.03%, 50=0.05%, 100=0.09%, 250=1.47%, 500=98.75% lat (msec) : 750=0.03% cpu : usr=0.03%, sys=4.83%, ctx=30067, majf=0, minf=5 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=117.1% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.1% issued rwts: total=30010,0,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=128 Run status group 0 (all jobs): READ: bw=500MiB/s (524MB/s), 500MiB/s-500MiB/s (524MB/s-524MB/s), io=29.4GiB (31.6GB), run=60257-60257msec -
Throughput de gravação aleatória:
fio -numjobs=1 -iodepth=128 -direct=1 -ioengine=libaio -sync=1 -rw=randwrite -bs=1M -size=1G -time_based -runtime=60 -name=Fio -directory=/mntExemplo de resultado do teste:
A largura de banda (BW) de gravação aleatória no resultado do teste é de 500 MiB/s.
Fio_168690260582: (g=0): rw=randwrite, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=libaio, iodepth=128 fio-3.7 Starting 1 process Fio_168690260582: Laying out IO file (1 file / 1024MiB) Fio_168690260582: (groupid=0, jobs=1): err= 0: pid=24705: Fri Jun 16 16:04:37 2023 write: IOPS=498, BW=500MiB/s (524MB/s)(29.4GiB/60254msec) slat (usec): min=105, max=251450, avg=156.25, stdev=1450.74 clat (msec): min=18, max=506, avg=256.29, stdev=17.20 lat (msec): min=19, max=506, avg=256.45, stdev=17.15 lat percentiles (msec): | 1.00th=[ 243], 5.00th=[ 253], 10.00th=[ 253], 20.00th=[ 255], | 30.00th=[ 255], 40.00th=[ 255], 50.00th=[ 257], 60.00th=[ 257], | 70.00th=[ 257], 80.00th=[ 257], 90.00th=[ 259], 95.00th=[ 259], | 99.00th=[ 292], 99.50th=[ 363], 99.90th=[ 481], 99.95th=[ 493], | 99.99th=[ 506] bw ( KiB/s): min=471040, max=548864, per=99.99%, avg=512085.42, stdev=6121.76, samples=120 iops : min= 460, max= 536, avg=500.07, stdev= 5.98, samples=120 lat (msec) : 20=0.02%, 50=0.04%, 100=0.11%, 250=2.49%, 500=97.72% lat (msec) : 750=0.03% cpu : usr=3.24%, sys=4.52%, ctx=28949, majf=0, minf=4 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=117.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.1% issued rwts: total=0,30009,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=128 Run status group 0 (all jobs): WRITE: bw=500MiB/s (524MB/s), 500MiB/s-500MiB/s (524MB/s-524MB/s), io=29.4GiB (31.6GB), run=60254-60254msec
Testes de performance no Windows
Esta seção usa como exemplo um sistema de arquivos NAS de capacidade de uso geral montado na unidade Z:. O arquivo executável do FIO está instalado em C:\Program Files\fio\fio.exe. Execute os comandos a seguir para testar a performance.
Ao testar a performance de um sistema de arquivos NAS com protocolo NFS no Windows, note que a performance é limitada pela execução sequencial de requisições para um único sistema de arquivos pelo cliente NFS do Windows. Ajuste o parâmetro -numjobs para aumentar o número de arquivos no teste com FIO.
-
IOPS de leitura aleatória:
"c:\Program Files\fio\fio.exe" -name=Fio -numjobs=2 -iodepth=128 -direct=1 -ioengine=windowsaio -sync=1 -rw=randread -bs=4K -size=1G -time_based -runtime=60 -group_reporting -thread -directory=Z\:\Exemplo de resultado do teste:
Fio_168690138640: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=windowsaio, iodepth=128 ... fio-3.29 Starting 2 threads Fio_168690138640: Laying out IO file (1 file / 1024MiB) Fio_168690138640: Laying out IO file (1 file / 1024MiB) Fio_168690138640: (groupid=0, jobs=2): err= 0: pid=3716: Fri Jun 16 15:57:13 2023 read: IOPS=15.2k, BW=59.3MiB/s (62.2MB/s)(3559MiB/60015msec) slat (usec): min=2, max=1923, avg= 9.75, stdev= 5.93 clat (usec): min=574, max=172102, avg=16841.03, stdev=13743.23 lat (usec): min=582, max=172118, avg=16850.79, stdev=13743.03 clat percentiles (usec): | 1.00th=[ 1565], 5.00th=[ 2376], 10.00th=[ 3064], 20.00th=[ 4752], | 30.00th=[ 6390], 40.00th=[ 8455], 50.00th=[ 16581], 60.00th=[ 19268], | 70.00th=[ 20841], 80.00th=[ 23725], 90.00th=[ 34341], 95.00th=[ 42730], | 99.00th=[ 61604], 99.50th=[ 69731], 99.90th=[ 89654], 99.95th=[ 98042], | 99.99th=[113771] bw ( KiB/s): min=57584, max=135136, per=100.00%, avg=60797.96, stdev=3971.16, samples=238 iops : min=14396, max=33783, avg=15199.29, stdev=992.75, samples=238 lat (usec) : 750=0.01%, 1000=0.08% lat (msec) : 2=2.71%, 4=13.18%, 10=27.51%, 20=20.78%, 50=32.76% lat (msec) : 100=2.94%, 250=0.04% cpu : usr=0.00%, sys=5.83%, ctx=0, majf=0, minf=0 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=100.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.1%, 16=0.1%, 32=0.1%, 64=0.1%, >=64=0.1% issued rwts: total=911224,0,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=128 Run status group 0 (all jobs): READ: bw=59.3MiB/s (62.2MB/s), 59.3MiB/s-59.3MiB/s (62.2MB/s-62.2MB/s), io=3559MiB (3732MB), run=60015-60015msec -
IOPS de gravação aleatória:
"c:\Program Files\fio\fio.exe" -name=Fio -numjobs=2 -iodepth=128 -direct=1 -ioengine=windowsaio -sync=1 -rw=randwrite -bs=4K -size=1G -time_based -runtime=60 -group_reporting -thread -directory=Z\:\Exemplo de resultado do teste:
Fio_168690107265: (g=0): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=windowsaio, iodepth=128 ... fio-3.29 Starting 2 threads Fio_168690107265: Laying out IO file (1 file / 1024MiB) Fio_168690107265: Laying out IO file (1 file / 1024MiB) Fio_168690107265: (groupid=0, jobs=2): err= 0: pid=4056: Fri Jun 16 15:38:56 2023 write: IOPS=15.3k, BW=59.9MiB/s (62.8MB/s)(3592MiB/60012msec); 0 zone resets slat (usec): min=2, max=4469, avg=11.04, stdev=16.84 clat (usec): min=829, max=98497, avg=16640.38, stdev=3644.71 lat (usec): min=1373, max=98502, avg=16651.42, stdev=3644.35 clat percentiles (usec): | 1.00th=[10421], 5.00th=[13042], 10.00th=[13566], 20.00th=[14091], | 30.00th=[14746], 40.00th=[15533], 50.00th=[16450], 60.00th=[17171], | 70.00th=[17695], 80.00th=[18482], 90.00th=[19530], 95.00th=[20841], | 99.00th=[32375], 99.50th=[36439], 99.90th=[42206], 99.95th=[46924], | 99.99th=[76022] bw ( KiB/s): min=53596, max=67392, per=100.00%, avg=61371.35, stdev=1490.41, samples=238 iops : min=13398, max=16848, avg=15342.70, stdev=372.62, samples=238 lat (usec) : 1000=0.01% lat (msec) : 2=0.01%, 4=0.07%, 10=0.82%, 20=91.27%, 50=7.80% lat (msec) : 100=0.04% cpu : usr=0.00%, sys=5.83%, ctx=0, majf=0, minf=0 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.2%, >=64=99.7% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=97.5%, 8=0.9%, 16=1.0%, 32=0.6%, 64=0.1%, >=64=0.1% issued rwts: total=0,919647,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=128 Run status group 0 (all jobs): WRITE: bw=59.9MiB/s (62.8MB/s), 59.9MiB/s-59.9MiB/s (62.8MB/s-62.8MB/s), io=3592MiB (3767MB), run=60012-60012msec -
Throughput de leitura aleatória:
"c:\Program Files\fio\fio.exe" -name=Fio -numjobs=2 -iodepth=128 -direct=1 -ioengine=windowsaio -sync=1 -rw=randread -bs=1M -size=1G -time_based -runtime=60 -group_reporting -thread -directory=Z\:\Exemplo de resultado do teste:
Fio_168690086312: (g=0): rw=randread, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=windowsaio, iodepth=128 ... fio-3.29 Starting 2 threads Fio_168690086312: Laying out IO file (1 file / 1024MiB) Fio_168690086312: Laying out IO file (1 file / 1024MiB) Fio_168690086312: (groupid=0, jobs=2): err= 0: pid=6400: Fri Jun 16 15:35:46 2023 read: IOPS=655, BW=656MiB/s (688MB/s)(38.7GiB/60371msec) slat (usec): min=20, max=7533, avg=60.61, stdev=84.70 clat (msec): min=42, max=2036, avg=389.97, stdev=105.38 lat (msec): min=42, max=2036, avg=390.03, stdev=105.37 clat percentiles (msec): | 1.00th=[ 184], 5.00th=[ 257], 10.00th=[ 368], 20.00th=[ 376], | 30.00th=[ 380], 40.00th=[ 384], 50.00th=[ 388], 60.00th=[ 393], | 70.00th=[ 397], 80.00th=[ 405], 90.00th=[ 414], 95.00th=[ 422], | 99.00th=[ 785], 99.50th=[ 1217], 99.90th=[ 1888], 99.95th=[ 1938], | 99.99th=[ 2005] bw ( KiB/s): min=282587, max=1051351, per=99.93%, avg=671112.03, stdev=64303.07, samples=240 iops : min= 275, max= 1026, avg=655.22, stdev=62.81, samples=240 lat (msec) : 50=0.01%, 100=0.19%, 250=4.68%, 500=93.38%, 750=0.62% lat (msec) : 1000=0.53%, 2000=0.57%, >=2000=0.02% cpu : usr=0.00%, sys=1.66%, ctx=0, majf=0, minf=0 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.2%, >=64=99.7% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.1%, 64=0.0%, >=64=0.1% issued rwts: total=39594,0,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=128 Run status group 0 (all jobs): READ: bw=656MiB/s (688MB/s), 656MiB/s-656MiB/s (688MB/s-688MB/s), io=38.7GiB (41.5GB), run=60371-60371msec -
Throughput de gravação aleatória:
"c:\Program Files\fio\fio.exe" -name=Fio -numjobs=2 -iodepth=128 -direct=1 -ioengine=windowsaio -sync=1 -rw=randwrite -bs=1M -size=1G -time_based -runtime=60 -group_reporting -thread -directory=Z\:\Exemplo de resultado do teste:
Fio_168690096808: (g=0): rw=randwrite, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=windowsaio, iodepth=128 ... fio-3.29 Starting 2 threads Fio_168690096808: Laying out IO file (1 file / 1024MiB) Fio_168690096808: Laying out IO file (1 file / 1024MiB) Fio_168690096808: (groupid=0, jobs=2): err= 0: pid=4496: Fri Jun 16 15:37:12 2023 write: IOPS=874, BW=874MiB/s (917MB/s)(51.5GiB/60296msec); 0 zone resets slat (usec): min=54, max=14217, avg=99.50, stdev=104.17 clat (msec): min=8, max=972, avg=292.48, stdev=72.43 lat (msec): min=8, max=972, avg=292.58, stdev=72.43 clat percentiles (msec): | 1.00th=[ 89], 5.00th=[ 174], 10.00th=[ 220], 20.00th=[ 249], | 30.00th=[ 292], 40.00th=[ 300], 50.00th=[ 300], 60.00th=[ 305], | 70.00th=[ 305], 80.00th=[ 313], 90.00th=[ 351], 95.00th=[ 359], | 99.00th=[ 575], 99.50th=[ 667], 99.90th=[ 852], 99.95th=[ 885], | 99.99th=[ 919] bw ( KiB/s): min=278528, max=1503232, per=100.00%, avg=895241.67, stdev=80207.46, samples=240 iops : min= 272, max= 1468, avg=873.98, stdev=78.34, samples=240 lat (msec) : 10=0.01%, 20=0.14%, 50=0.24%, 100=0.92%, 250=19.01% lat (msec) : 500=78.07%, 750=1.34%, 1000=0.26% cpu : usr=1.66%, sys=0.83%, ctx=0, majf=0, minf=0 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=99.8% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=99.1%, 8=0.6%, 16=0.3%, 32=0.1%, 64=0.1%, >=64=0.1% issued rwts: total=0,52715,0,0 short=0,0,0,0 dropped=0,0,0,0 latency : target=0, window=0, percentile=100.00%, depth=128 Run status group 0 (all jobs): WRITE: bw=874MiB/s (917MB/s), 874MiB/s-874MiB/s (917MB/s-917MB/s), io=51.5GiB (55.3GB), run=60296-60296msec
Descrição dos parâmetros do FIO
A tabela a seguir descreve os parâmetros do FIO usados nos comandos de teste.
Parâmetro | Descrição |
direct | Define se o I/O direto deve ser usado. Valor padrão: 1.
|
iodepth | Profundidade da fila de I/O para o teste. Por exemplo, |
rw | Política de leitura/gravação para o teste. Valores válidos:
|
ioengine | Motor de I/O que o FIO usa para o teste. Geralmente, selecione libaio por ser mais adequado aos padrões de aplicações cotidianas. Para outras opções, consulte a documentação oficial do FIO. |
bs | Tamanho do bloco das unidades de I/O. É possível especificar valores separados para leitura e gravação no formato |
size | Tamanho dos arquivos de teste. Tamanho do arquivo de teste. O FIO lê ou grava todo o tamanho do arquivo antes que o teste pare, a menos que seja limitado por outras opções, como runtime. Se este parâmetro não for especificado, o FIO usa o tamanho total do arquivo ou dispositivo. Também é possível definir o tamanho como uma porcentagem de 1 a 100. Por exemplo, |
numjobs | Número de threads de teste simultâneas. |
runtime | Duração do teste, indicando o período de tempo durante o qual a ferramenta fio executa. Se este parâmetro não for especificado, o FIO lê ou grava continuamente o arquivo inteiro. O tamanho do arquivo e o tamanho do bloco são definidos pelos parâmetros size e bs, respectivamente. |
group_reporting | Modo de exibição dos resultados do teste. Modo de exibição dos resultados. Se especificado, os resultados mostram estatísticas agregadas por processo, em vez de por tarefa. |
directory | Caminho de montagem do sistema de arquivos a ser testado. |
name | Nome da tarefa de teste. Pode ser definido conforme necessário. |
Para mais informações sobre esses parâmetros, consulte a página man do FIO.
Tópicos relacionados
How do I increase the read and write throughput threshold of a General-purpose NAS file system?
How do I resolve poor performance when I access NAS from a Linux operating system?
Why does a file system stutter or not respond when I run the ls command?
How do I improve the NFS sequential read performance on Linux kernel 5,4 or later?
Para mais perguntas frequentes sobre a performance do NAS, consulte Performance FAQs.