CentOSでRAMディスクを使ってみる      



2007年10月16日

CentOSでRAMディスクを使ってみる

Yahoo!ブックマークに登録 はてなブックマークに追加 del.icio.usに追加 livedoorクリップへ追加 Buzzurlに追加 POOKMARK Airlinesへ追加 newsingへ投稿 Saafブックマークに追加

DISK I/Oでボトルネックになっているケースに対する対策を考えてみる。
ということで、物理メモリを仮想ディスクとして利用できるRAMディスクの実験。

手軽に使えるmemcachedみたいなイメージで。

OSレベルでのファイルキャッシュで事足りることもあるかもしれないが、
明示的にメモリ内で処理できると幸せみたいなケースに有効かと思われる。

ハード、OS構成は下記。尚、ベンチマークツールはbonnie++を使用する。

■テスト構成
CPU:Xeon5110*2
Memory:4G
HDD:144G*2(SAS,15krpm,RAID-1)
OS:CentOS4.4(2.6.9-42.0.10)
■bonnie++インストール
#wget http://www.coker.com.au/bonnie++/bonnie++-1.03a.tgz
cd bonnie++-1.03a
./configure
vi bonnie.h
------------------------------
>>#define MinTime (0.5)
<<#define MinTime (0.01)
------------------------------
make
■環境準備
# df -h
------------------------------------------------------------
Filesystem サイズ 使用 残り 使用% マウント位置
/dev/sda3 130G 44G 80G 36% /
/dev/sda1 122M 20M 96M 18% /boot
none 2.0G 0 2.0G 0% /dev/shm
------------------------------------------------------------

# mkdir /mnt/ram
# umount /dev/shm
# mount -t tmpfs -o size=512m tmpfs /dev/shm
# mount -t tmpfs -o size=512m /dev/shm /mnt/ram
■測定1(RAMディスク)
./bonnie++ -u root -d /mnt/ram -s 500 -r 250
■測定2(ハードディスク)
./bonnie++ -u root -d /tmp
■結果1
------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
500M 52244 99 865214 100 893525 99 55364 99 1863858 100 201366 208
------Sequential Create------ --------Random Create--------
-Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
16 272816 99 592291 97 320294 99 278214 100 521135 101 249569 100

read:1820M/s
write:845M/s

■結果2
------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
cardinal 8G 40427 85 71808 24 23838 5 31428 58 62805 5 321.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 53228 97 327667 99 61305 99 55198 100 507259 99 63985 99

read:70M/s
write:61M/s


■総論
readで約26倍、writeで約14倍の速度がRAMディスクで測定された。
例えば、スレーブデータベースなどハードウェアレベルで冗長化された物に対しては、
利用できる可能性もあるかも。
後は、PEARのCache_Liteをmemcachedで行うより簡単に実装ができるような。

trackbacks

trackbackURL:

comments

comment form
comment form





MSN:chrome_fs@hotmail.co.jp
※メッセ専用

800*600 ATOM1.0
RSS1.0 RSS2.0
人気ブログランキング - Free Style