7年物の遅いドライブでテストしてみたが、帯域もCPUも明らかにボトルネックではなかった。最初のダウンロードは1時間20分かかった。
それより大幅に長く、たとえば24時間もかかるなら、非常に遅いノードからダウンロードしているか、回線が15KB/秒(120kbps)よりずっと遅いか、何か他に問題があるはずだ。そういうときは何がボトルネックに見えるか教えてもらえるとありがたい。
こちらの約 24時間のダウンロードは、PATA アダプター経由の(安物の)Compact Flash へ、約 4 Mbit/s の ADSL 回線、ルーターからの port 8333 フォワーディング、Debian Lenny 上の 700MHz Pentium3 と 256MiB RAM という環境だった。ダウンロード速度はかなり激しく上下した。
このボロマシンの性能を把握するために bonnie++を走らせた。
$ /usr/sbin/bonnie -d ~/bon/ -f -s 1500MiB -m clunker
[...noise...]
Version 1.03d ------Sequential Output------ --Sequential Input- --Random-
-Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
clunker 1500M 5396 6 5034 5 17658 11 601.4 5
------Sequential Create------ --------Random Create--------
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 10494 60 +++++ +++ 980 3 7919 45 +++++ +++ 1106 4
clunker,1500M,,,5396,6,5034,5,,,17658,11,601.4,5,16,10494,60,+++++,+++,980,3,7919,45,+++++,+++,1106,4
$ /usr/sbin/bonnie -d ~/bon/ -f -s 1500MiB -m clunker -b […noise…] Version 1.03d ------Sequential Output------ —Sequential Input- —Random- -Per Chr- —Block— -Rewrite- -Per Chr- —Block— —Seeks— Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP clunker 1500M 4921 6 5382 6 19630 12 33.4 0 ------Sequential Create------ --------Random Create-------- -Create— —Read--- -Delete— -Create— —Read--- -Delete— files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 16 68 0 +++++ +++ 16 0 68 0 +++++ +++ 17 0 clunker,1500M,,,4921,6,5382,6,,,19630,12,33.4,0,16,68,0,+++++,+++,16,0,68,0,+++++,+++,17,0
2回目は -b 「書き込みバッファリングなし。各書き込み後に fsync()」付きで実行した。ブロック書き込みはあまり変わらない(ランダムシークは 18倍遅くなった?)が、ファイルの作成と削除は 60〜150倍遅くなる。%CP は CPU 使用率、+++は「意味を持たないほど速い」を表す。
新しいバージョンのコンパイルとテストはできるが、現状リアルタイムのラグがかなり大きい。 debug.log の中に伏せたり匿名化したい情報が含まれることはあるだろうか?