性能指標
スループット
単位時間あたりのデータ転送量
です。大きなデータをコピーするような時などに、この値が意識されます。
レイテンシ
一回当たりのI/Oに要する時間
です。ストレージの応答性能を示します。
...
主に大きなデータ転送の時ではなく、細かいI/Oがたくさん出る時です。
気づき
たくさんのI/Oが必要となるブロックデバイスにとって一回ずつ時間がかかるとダメなのか。
IOPS
I/O per secondの略であり、1秒間に処理できるI/Oの数
を示します。
気づき
スループット、レイテンシ、IOPSは並列処理をさせると性能が上がりそうだがどうなのだろうか?
性能指標を見てみる
vboxuser@************:*****************$ fio --name test --readwrite=randread --filename testdata --filesize=1G --size=4M --bs=4K --output-format=json
fio: pid=0, err=13/file:filesetup.c:162, func=open, error=Permission denied
{
...
{
"jobname" : "test",
"groupid" : 0,
"error" : 0,
"eta" : 2147483647,
"elapsed" : 1,
"job options" : {
"name" : "test",
"rw" : "randread",
"filename" : "testdata",
"filesize" : "1G",
"size" : "4M",
"bs" : "4K"
},
"read" : {
"io_bytes" : 4194304,
"io_kbytes" : 4096,
"bw_bytes" : 5890876,
"bw" : 5752,
"iops" : 1438.202247,
...
"lat_ns" : {
"min" : 196917,
"max" : 9777706,
"mean" : 693332.602539,
"stddev" : 322979.882767
...
"write" : {
"io_bytes" : 0,
"io_kbytes" : 0,
"bw_bytes" : 0,
"bw" : 0,
"iops" : 0.000000,
...
"lat_ns" : {
"min" : 0,
"max" : 0,
"mean" : 0.000000,
"stddev" : 0.000000
....
}
"bw_bytes" : 5890876,
"iops" : 1438.202247,
"mean" : 693332.602539,
"bw_bytes" : 0,
"iops" : 0.000000,
"mean" : 0.000000,
気づき
bw_bytesがバイト単位のスループット、iopsがIOPS、meanがナノ秒単位の平均レイテンシ
読み込むだけのコマンドだったのか?もしくは書き込みの性能が表示できないくらい小さいのか。
とりあえず性能を見ることができた。しかしこれが良いのか悪いのかわからない。
出典