Maxです
2003年 3月 4日 火曜日 16:17、Kohjin Yamada さんは書きました:
> 何か定量的に計れる推薦ツールがありますでしょうか?
> MAXさんがbonnie++を使って居られるようなので今から試してみますが…
あひゃ。Yak-develで書いたネタですね。
調べてみようと思ったのは、きんねこさんから「SMPカーネルだとI/O性能が
最大30%遅くなる」という話を聞いたためです。KK氏は、起動時に"knoppix nosmp"
と入れればSMPサポートは抑止できると言っていましたが、実際性能的にはなんら
貢献しなかったようです。そこで本家にも性能についてレポートしましたが、その
こと自体にはあまり反応がなかったですね。カーネルの再ビルド方法についてのみ
スレッドつながりましたので。
HDBENCH Cloneは作者の二宮さんがすでにメンテナンスをやめて居られることもあり
あまり表だった性能測定に使うのは気が引けます。
ボクのHDDの設定は特に手を入れてないのですが、ドライブ仕様とbonnie++の結果を
添付しておきます。
# hdparm -i /dev/hda
Model=Maxtor 2F040J0, FwRev=VAM51JJ0, SerialNo=F12QQ4QE
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=57
BuffType=DualPortCache, BuffSize=2048kB, MaxMultSect=16, MultSect=16
CurCHS=4317/15/255, CurSects=16512525, LBA=yes, LBAsects=78165360
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 *udma4 udma5 udma6
AdvancedPM=yes: disabled (255) WriteCache=enabled
Drive Supports : ataATA-1 ATA-2 ATA-3 ATA-4 ATA-5 ATA-6 ATA-7
# hdparm /devhda
/dev/hda:
multcount = 16 (on)
I/O support = 1 (32-bit)
unmaskirq = 1 (on)
using_dma = 1 (on)
keepsettings = 0 (off)
nowerr = 0 (off)
readonly = 0 (off)
readahead = 8 (on)
geometry = 4865/255/63, sectors = 78165360, start = 0
busstate = 1 (on)
といった状態です。特にデフォルトから手を入れていません。
# 珍しくMaxtorを使っている最近。
以下は見づらいですがBonnie++の結果を、セルフビルトしたUniProcessor Kernelと
デフォルトのSMPカーネルをオプションなし/nosmpオプション付きでそれぞれ
比較した結果です。
[UP kernel]=================================================================
Version 1.02c ------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
cyan-knoppix 1G 12323 94 34729 48 14337 17 12090 89 40164 14 129.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 634 97 +++++ +++ +++++ +++ 642 98 +++++ +++ 2378
96
[MP kernel - NO SMP feature]===============================================
Version 1.02c ------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
cyan-knoppix 1G 11774 95 34082 56 14017 17 12213 76 39305 16 124.7
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 509 98 +++++ +++ 32583 101 534 97 +++++ +++ 2051
97
[MP kernel - SMP feature]==================================================
Version 1.02c ------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
cyan-knoppix 1G 11727 74 34294 49 14078 17 12527 94 40749 17 131.5
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 493 98 +++++ +++ 32222 100 509 98 +++++ +++ 2048
97
===========================================================================
結果としてはデフォルトカーネルはnosmpをつけても結果に有意な差が出ませんでした。
UPカーネルを使った方がランダムアクセスで20%前後の向上があったという程度にと
どまっています。環境に大きく依存するのかもしれません。
もっともUPカーネルを使っても体感速度としては対して変わりませんでした。
よろしければ、sf.jpのYAKのプロジェクトページにに英語版最新環境にて再ビルド
した最新UPカーネルのパッケージとinitrdをアップしておりますのでお試しください。
hdinstall環境でのインストールが可能です。
なお古いバージョンでの動作は確認しておりませんし、あくまで自己責任でお願いします。
バイナリ:
http://downloads.sourceforge.jp/ya-knoppix-jp/2538/kernel-image-2.4.20_yak6_i386.deb
http://downloads.sourceforge.jp/ya-knoppix-jp/2538/initrd-2.4.20-xfs.gz
# initrdは単純にmkinitrdで作成するやり方ではうまく起動しませんので御注意。
# 配布しているinitrd-2.4.20-xfs.gzも既存のinitrdにリビルドしたモジュールを
# 埋め込むという作業で作ったモノです。
簡単な説明:
http://sourceforge.jp/projects/ya-knoppix-jp/document/yak-kernel-nosmp_0.1exp_-_Notes/en/2
個人的にはSMPカーネルよりUPカーネルをデフォルトにしてもらったほうが、幸せな方は多いとは
思うのですが、リカバリディスクとして考えた場合にはSMP対応も含めておき性能が犠牲になっても
かまわないというのも一つの見識です。リマスタの際には、想定する利用場面に応じてどちらを
デフォルトにするか考えてもいい気がします。
--
Masaharu "Max" Goto
GnuPG Key fingerprint = 4D69 6B1D 484D 999C EDA7 2853 32AF 0C86 9323 3DDB
|