/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
を実行します。詳細については、その文書や他のスレッドを自由に読んでください。