Linux | Free Style



2007年11月14日

memcachedをレプリケーション

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

repcached 1.0

●要約
・memcachedにレプリケーション機能を追加
・レプリケーション機能追加によるパフォーマンス低下はなし
・逆に冗長化することでパフォーマンスが上がる場合があるかも。
・ネットワークは1000Base-T推奨。

意外とネットワークによるボトルネックってないもんだなぁ。
tmpfsをNFSとかiSCSIでやっても同様の結果になるのかな?
memcachedよりバックアップや容量管理回りが良いと思ったわけで。

memcached もどきにレプリケーション機能とディスク保存機能を追加したもの
未完成っぽい。
大きな違いはディスク保存機能がrepcachedにはない点。

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で行うより簡単に実装ができるような。

2007年06月13日

セッション用にmemcachedを導入してみる

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

時代はInMemoryということで、セッションをファイルからmemcachedに
変更してみる。冗長化している構成でもサーバとしてmemcachedが動く
ので問題ないので割とお奨め。

難点は
・リソース管理ができない
・プロセスダウンでデータクリア
ということぐらい。

ダウン時にイメージをディスクに落としてくれると便利なのになぁ。

CentOS4.4だとrepoにdag追加するだけで後はyumインストールできるので簡単。

■repoにdag追加
rpm -Uhv http://dag.wieers.com/packages/rpmforge-release/rpmforge-release-0.3.6-1.el4.rf.i386.rpm
vi /etc/yum.repos.d/dag.repo
⇒enabled = 0に変更

rpm --import http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
■dagからmemcachedをインストール
yum -y --enablerepo=rpmforge install memcached.x86_64
■おもむろに設定
/etc/sysconfig/memcached
PORT,USER,CACHESIZEあたり変更してみる。 ■サービス起動
chkconfig memcached on
service memcached start
■php.iniの変更
session.save_handler = memcache
session.save_path = tcp://127.0.0.1:11211
※既存の物はコメントアウトでもしておこう。 ■apache再起動
/usr/local/apache2/bin/apachectl restart

以上。

素人がサーバを構築してみた

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

さてと、長らく放置してたのでサーバ構築のドキュメント
でもまとめてみよう。
ハードについては選定基準ぐらいかな。
ソフトについてはインストールと設定周りと苦労ネタ。
項目は下記。

■サーバ
CPU:Xeon5110*2
メモリ:4G
HDD:SAS/146G/15000rpm/RAID-1

モノはDell PowerEdge 2950カスタム。
でかい五月蠅い重い速い。
サイズの割には消費電力は割と押さえられている。
ラックに入れるときは専用レールが必要なので注意。

メモリは最低4Gできれば8Gで検討していたので、まぁ妥当ライン。
予算の兼ね合いで(ry
今のご時世メモリも安くなったしは積めるだけ積んだ方が
幸せになれます。とはいえ、サーバ用途のメモリは高いですけど。。。

■ソフト
OS:CentOS4.4(64bit)
Web:Apache2.0.58
App:PHP5.1.6 on eAccelerator 0.9.5
DB:MySQL4.1.21
etc:memcached
etc:munin

んじゃまた次回。






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

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