DISKベンチマークのランダム書き込みは、iostatで高い読み取り速度を示します。

DISKベンチマークのランダム書き込みは、iostatで高い読み取り速度を示します。

一部のディスク(HDDおよびSDD)で直接ランダム書き込みベンチマークを実行していますが、iostatモニタに奇妙な出力データが表示されます。一般的な書き込み速度に加えて、なぜ理解できない読み取り速度があります。

以下は、テスト用にCで書かれたベンチマークプログラムです(この問題のコアコード)。

fd=open("/dev/sda", O_WRONLY|O_CREAT|O_TRUNC, 0666); 
for (;;) {
    offset2=DLIMIT * (double)random() / RAND_MAX;
    retval = lseek64(fd, offset2, SEEK_SET);
    handle("lseek64", retval == (off64_t) -1);
    retval = write(fd, buffer, BLOCKSIZE);
    handle("write", retval < 0);
}

たとえば、60秒のベンチマークの間、iostatは次の平均結果を示しました。

54467,27(kB/秒) | 38147,37(株)

実行中のプログラムを一度実行してみると、writeとlseekの内容だけが表示されました。

もう一つの良い情報は、このプログラムをファイル(SDAからマウントされたファイルシステム)で実行すると読み取り速度が表示されないことです。この「/dev/sda」の場合のみです。

このゴースト読み取り率のアイデアや説明はありますか?

ベストアンサー1

おすすめ記事