テキストファイルをダウンロードしてtmpfsに書き込むのは、ディスクに書き込むよりも遅いです。なぜですか?

テキストファイルをダウンロードしてtmpfsに書き込むのは、ディスクに書き込むよりも遅いです。なぜですか?

/rtmp/Ubuntu OSに1 GBのRAMが割り当てられているtmpfsというファイルがあります。

私は小さなテキストファイルをハードドライブに書き込む方が速いか、またはこのRAMドライブに書き込む方が速いかどうかをテストするためにbashスクリプトを使用しています/rtmp/

Bashスクリプトはハードドライブに書き込みます。

#!/bin/bash

URL="http://some.website/some.txt"

wget -O ~/current/axis_tmp ${URL}

cat ~/current/axis_tmp | grep "^pattern" | tail -n 1 | awk -F',' '{printf("%.0f\n", $3)}' | sed 's/ //g' > ~/current/tmp.txt

sed -i 's/^/X,/' ~/current/tmp.txt
sed -i 's/$/,Y/' ~/current/tmp.txt

exit 0

tmpfsに書き込むためのBashスクリプト

#!/bin/bash

URL="http://some.website/some.txt"

wget -O /rtmp/axis_tmp ${URL}

cat /rtmp/axis_tmp | grep "^pattern" | tail -n 1 | awk -F',' '{printf("%.0f\n", $3)}' | sed 's/ //g' > /rtmp/tmp.txt

sed -i 's/^/X,/' /rtmp/tmp.txt
sed -i 's/$/,Y/' /rtmp/tmp.txt

exit 0

コマンドを実行しtimeた後、次のような結果が得られます。

ディスクへの書き込み

real    0m0.554s
user    0m0.022s
sys     0m0.003s

tmpfsに書き込む

real    0m0.614s
user    0m0.023s
sys     0m0.002s

テキストファイルの書き込みがtmpfsディスクにファイルを書き込むよりも遅いのはなぜですか?処理時間は次のとおりです。急いでに書きますかtmpfs

ベストアンサー1

あなたのスクリプトはI / Oをテストする正しい方法ではありません。 〜のようにハディルブそのうちのいくつかを教えてください。もっとたくさんあります。そのため、これを達成するための特別なツールがあります。 IMHOの最高のツールはおそらくfio。これを試してみることができます

fio --name=fio-rand-write --rw=randwrite --bs=4k --direct=0 --numjobs=4 \
--size=512M --ioengine=libaio --iodepth=16

cdたとえば、テストしたいパーティションのフォルダに移動してコマンド/rtmpを実行します。詳細については、その文書や他のスレッドを自由に読んでください。

おすすめ記事