01:48:06 # Life USB1.0デバイスのデジタルカメラからどれくらいの勢いでデータをすいだしているのかを確認してみた. 高速化ができるのか,という点について着目してみる. 実験内容としては,いつも写真をとりこむバッチを実行している横で iostat -x 10 を実施. hdaというのがibookの内蔵HDD, sdaというのがデジタルカメラ(Casio Exilim). おわりかけのところを切り出してみる. 終ったら処理用のgimpでしこんだバッチがはしるので,CPU使用率が上昇している. それまでは,iowait が90以上をキープしている. %sysが3%と多いのがすこし気になる. あと,一回のreadの反応を待つのに0.151秒,処理がかえってくるまでに0.082秒かかっているらしい. 一回のread が100セクター(50kB程度)というのは, cpのバッファサイズが64kB程度だからだろうか. 高速化の観点からいうと,バッファサイズを大きくとったコピープログラムを利用すれば若干は高速になりそうな気もする. しかし,一秒に12回しかreadできていないので,そういう次元の問題ではないのかもしれない.
CPU平均: %user %nice %sys %iowait %idle 3.70 0.00 2.90 93.40 0.00 デバイス: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util hda 0.00 150.50 0.00 2.40 0.00 1223.20 0.00 611.60 509.67 0.31 130.12 23.50 5.64 sda 1182.80 0.30 12.00 0.10 1194.90 0.40 597.45 0.20 98.79 1.84 151.80 82.14 99.39 CPU平均: %user %nice %sys %iowait %idle 3.70 0.00 3.00 93.30 0.00 デバイス: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util hda 0.00 149.40 0.00 2.00 0.00 1211.20 0.00 605.60 605.60 0.32 158.75 30.70 6.14 sda 1184.50 0.00 12.10 0.00 1196.60 0.00 598.30 0.00 98.89 1.88 154.05 82.25 99.52 CPU平均: %user %nice %sys %iowait %idle 3.90 0.00 3.30 92.81 0.00 デバイス: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util hda 0.40 150.15 6.39 2.10 135.06 1217.98 67.53 608.99 159.34 0.43 51.12 17.11 14.53 sda 1003.20 0.00 14.89 0.00 1017.88 0.00 508.94 0.00 68.38 1.60 109.27 60.69 90.34 CPU平均: %user %nice %sys %iowait %idle 45.15 0.00 11.99 42.86 0.00 デバイス: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util hda 4.10 68.93 79.92 16.58 2195.40 684.12 1097.70 342.06 29.84 6.44 66.70 5.33 51.39 sda 0.00 0.50 0.00 0.10 0.00 0.60 0.00 0.30 6.00 0.00 33.00 33.00 0.33 CPU平均: %user %nice %sys %iowait %idle 80.12 0.00 18.38 1.50 0.00 デバイス: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util hda 0.20 33.57 1.20 2.60 167.03 289.31 83.52 144.66 120.21 0.04 11.58 8.68 3.30 sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
あまりよい比較データではないが,tarを利用した場合の結果を見てみる. avgrq-szが同じような値をしめしているので,今回想定している 「ブロックサイズを変えればパフォーマンスがかわるのではないだろうか」という 問題に対しての良い検討方法ではないことが分かる.
CPU平均: %user %nice %sys %iowait %idle 82.58 0.00 17.32 0.10 0.00 デバイス: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util hda 0.00 21.12 1.50 12.61 84.08 269.87 42.04 134.93 25.08 1.83 129.55 3.76 5.31 sda 1102.30 0.00 11.01 0.00 1113.31 0.00 556.66 0.00 101.11 1.67 153.26 85.75 94.41 CPU平均: %user %nice %sys %iowait %idle 81.52 0.00 18.18 0.30 0.00 デバイス: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util hda 0.00 44.76 2.10 10.49 83.92 441.96 41.96 220.98 41.78 0.90 71.14 3.80 4.79 sda 1092.61 0.00 10.59 0.00 1103.20 0.00 551.60 0.00 104.18 1.61 152.25 87.64 92.81 CPU平均: %user %nice %sys %iowait %idle 83.80 0.00 15.60 0.60 0.00 デバイス: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util hda 0.10 147.30 6.00 4.60 168.00 1215.20 84.00 607.60 130.49 1.39 131.26 8.56 9.07 sda 1100.40 0.00 10.80 0.00 1111.20 0.00 555.60 0.00 102.89 1.69 154.36 87.38 94.37 CPU平均: %user %nice %sys %iowait %idle 83.20 0.00 15.80 1.00 0.00 デバイス: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util hda 0.10 20.20 3.90 5.70 88.80 207.20 44.40 103.60 30.83 0.35 36.39 4.74 4.55 sda 1107.00 0.00 11.30 0.00 1118.30 0.00 559.15 0.00 98.96 1.75 156.34 84.36 95.33
$Id: dancer-diary.el,v 1.89 2005/05/12 11:19:14 dancer Exp $