2010年1月14日木曜日

CPUがディスクアクセスに及ぼす影響を調べる

CPUをアップグレードするので、折角なのでベンチ取ってみます。

あ、netperfが入ってないので導入し、テストしたら消します。
# rpm -ivh http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
# yum --enablerepo=rpmforge install netperf
受信側 # netserver
送信側 # netperf -H hoge -fM
# yum remove netperf

bonnie++も
CentOS
# yum --enablerepo=rpmforge install bonnie++

FreeBSD
# cd /usr/ports/benchmarks/bonnie++
# make && make install


■CentOS5.4+ext3
・マシン:NEC Express5800/110Gd
・メモリ:DDR2-800(8GB)
・CPU(変更前):Celeron D 341(L2-256KB/2.93GHz/533MHz)
・CPU(変更後):Core 2 Quad Q6600(L2-8MB/2.40GHz/1066MHz)
・HDD:WDC WD5000AAKS-00V1A0(2台RAID1)

○HDD(5回実行の平均値)
・変更前
【Dom0 local】
# hdparm -Tt /dev/sda
Timing cached reads: 3457 MB in 2.00 seconds = 1731.81/sec
Timing buffered disk reads: 332 MB in 3.01 seconds = 110.32 MB/sec

【Dom0 local】
# bonnie++ -d /tmp -u root
Version 1.96 ------Sequential Output------ --Sequential Input- --Random-
Concurrency 1 -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
melchior.hoge 8G 130 99 82894 60 43819 31 315 99 112855 24 332.2 5
Latency 68278us 1664ms 867ms 45624us 111ms 779ms
Version 1.96 ------Sequential Create------ --------Random Create--------
melchior.hoge -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 19533 77 +++++ +++ 22990 77 21066 82 +++++ +++ 22184 76
Latency 236us 1053us 1303us 1852us 52us 681us

【Dom0 NFS】
# bonnie++ -d /kfs_xen -u root
Version 1.96 ------Sequential Output------ --Sequential Input- --Random-
Concurrency 1 -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
melchior.hoge 8G 232 99 20005 25 17808 16 312 99 44304 14 142.7 1
Latency 37150us 2730ms 24937ms 33436us 961ms 27126ms
Version 1.96 ------Sequential Create------ --------Random Create--------
melchior.hoge -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 808 2 1724 4 553 3 821 3 1994 5 928 2
Latency 330ms 69730us 1347ms 169ms 1243us 240ms

【DomU local】
# hdparm -Tt /dev/xvda
Timing cached reads: 3560 MB in 2.00 seconds = 1782.13 MB/sec
Timing buffered disk reads: 136 MB in 3.05 seconds = 44.54 MB/sec


・変更後
【Dom0 local】
# hdparm -Tt /dev/sda
Timing cached reads: 11026 MB in 2.00 seconds = 5524.94 MB/sec
Timing buffered disk reads: 370 MB in 3.01 seconds = 122.84 MB/sec

【Dom0 local】
# bonnie++ -d /tmp -u root
Version 1.96 ------Sequential Output------ --Sequential Input- --Random-
Concurrency 1 -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
melchior.hoge 15G 309 99 56267 71 41546 5 670 98 113249 3 351.5 5
Latency 28697us 3914ms 4908ms 62964us 116ms 864ms
Version 1.96 ------Sequential Create------ --------Random Create--------
melchior.hoge -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 +++++ +++ +++++ +++ 21574 31 +++++ +++ +++++ +++ +++++ +++
Latency 690us 601us 657us 1343us 66us 190us

【Dom0 NFS】
# bonnie++ -d /kfs_xen -u root
Version 1.96 ------Sequential Output------ --Sequential Input- --Random-
Concurrency 1 -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
melchior.hoge 15G 471 99 18778 35 16744 0 683 99 45269 0 111.8 1
Latency 17593us 49930ms 29724ms 34619us 368ms 70848ms
Version 1.96 ------Sequential Create------ --------Random Create--------
melchior.hoge -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 942 0 1972 0 646 0 974 0 2613 0 1104 0
Latency 58110us 833ms 902ms 23108us 946us 277ms

【DomU】
# hdparm -Tt /dev/xvda
Timing cached reads: 11803 MB in 2.00 seconds = 5911.98 MB/sec
Timing buffered disk reads: 242 MB in 3.05 seconds = 79.67 MB/sec

○LAN(5回実行の中央値)
・変更前
# netperf -H casper -fM
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. MBytes/sec
87380 16384 16384 10.03 108.06

・変更後
# netperf -H casper -fM
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. MBytes/sec
87380 16384 16384 10.04 110.98


■FreeBSD8-RELEASE+ZFS(RAID-Z2 8本)
・マシン(変更前):NEC Express5800/110Gc
・マシン(変更後):NEC Express5800/110Gd
・メモリ:DDR2-800(8GB) なんだけど変更前は3GB強しか認識されておらず
・CPU(変更前):Celeron D 331(L2-256KB/2.66GHz/533MHz)
・CPU(変更後):Core 2 Quad Q6600(L2-8MB/2.40GHz/1066MHz)

○HDD
・変更前
# /usr/local/sbin/bonnie++ -d /mnt/kfs01/kfs -u root
Version 1.96 ------Sequential Output------ --Sequential Input- --Random-
Concurrency 1 -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
kfs01.hoge 6G 40 85 56292 41 34684 26 126 94 71811 25 43.9 3
Latency 3661ms 5189ms 3520ms 163ms 874ms 186s
Version 1.96 ------Sequential Create------ --------Random Create--------
kfs01.hoge -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 6658 92 25612 90 7102 91 7376 96 29278 99 7216 91
Latency 29754us 12866us 16489us 60286us 149us 8955us

・変更後
Version 1.96 ------Sequential Output------ --Sequential Input- --Random-
Concurrency 1 -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
kfs01.hoge 16G 81 98 22966 50 15804 30 228 98 45929 25 45.9 2
Latency 685ms 23522ms 7649ms 121ms 1149ms 2990ms
Version 1.96 ------Sequential Create------ --------Random Create--------
kfs01.hoge -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 7763 39 7990 19 8531 82 14359 97 22230 99 6737 98
Latency 563ms 1671ms 792us 47669us 142us 328us




■総括
○CentOS5.4+ext3
DomUでのlocalディスクアクセスは2倍に高速化した。これは有意義。

しかしDom0はマルチコア化しても正直あんまり意味がない模様。
1割くらい高速化したかな。CPU負荷は大幅に減ってるものの。

ソフトウェアRAIDなんで、その処理が軽くなってるんだろうが、HDD自体が足を引っ張っているらしい。
っつってもウエデジ500GB1プラッタなんで、特に遅いHDDというわけではない。限界ということのようだ。

NFSはむしろ逆に遅くなってる。とはいえNFS先は本番マシンなんで、この程度なら誤差の範囲かしら。

○FreeBSD8-RELEASE+ZFS(RAID-Z2 8本)
マルチコア化により大幅に低速化した… なんじゃこりゃw
念のためもう一回やってみたけど、あまり変わらなかった。

TOPで見てるとbonnie++自体が1スレッドで、CPU的には50%くらいしか食ってない。
HDD8台も積んでる割にはアクセスランプは高速にチラチラしているので、まだ余裕がありそう。

原因は、何だろう。
Pen4ベースのCeleron Dに比べてCore系は64bitに弱いと聞く。これかな。。
あるいは、なんちゃってQuad=もっさり、ということかしら。。
いずれにせよZFSにはCore 2 Quadは向いていないらしい。
えー、散々苦労して手に入れた石なんだぞ、なんということか。予備機で眠らせろってか。


■で、どうする
メモリ3GBの環境でZFSは不安定なので、やだ。ひとまずこのままにする。
後日サーバを増設して、CPUセロリンのままメモリ8GBを突っ込んで運用することにする。
中古なら5000円くらいだろうし。。しかし総額では高くつくわー…。。

0 件のコメント: