2009/01/29(木)CPI VPSスケールプランの一番安いやつ
CPI VPSスケールプランはありがたいことに無料のテストサーバーがあるのでこれを申し込んでみました。
そもそもレンタルサーバ契約の目的は
・DNSサーバを移転したい
・メールルータとして使いたい
というのがメインで、
・ちょっと妙なことをするWebサーバを起動したい
ぐらいまでできると嬉しいと思っています。
あんまりばりばりコンパイルしまくる環境でもなくて、yumでがんばるのが筋だとは思ってるのですが、せっかくのテストなので念のためにいじめてみた。
CPI スケーラブルプラン VPS まとめwikiやCPIのVPSが使えるようになったあたりから事前の情報収集で特にVS-01プランはメモリ関係が厳しいということが見えていたので、その辺を中心に。
Virtuozzoのメモリはfreeやtopでなくてprivvmpagesを見るべしを参考に、以下のようなスクリプトを用意してメモリの利用状況を確認します
[root@vpstest ~]# cat mem beans=`cat /proc/user_beancounters | grep priv` max=`echo $beans | awk '{ print $4;}'` use=`echo $beans | awk '{ print $2;}'` let "per=$use*100/$max" let "mb=$use/256" let "mmb=$max/256" echo "privvmpages usage: $mb MB ($per% of $mmb)"ぐるぐる回してみる
[root@vpstest ~]# while [ 1 ]; do ./mem; sleep 3; doneこの状態でいくつか作業をしてみた。
privvmpages usage: 14 MB (8% of 175)
privvmpages usage: 14 MB (8% of 175)
privvmpages usage: 14 MB (8% of 175)
:
事前にyumでインストールしたものもありますが、daemonは初期状態のままです。*1
- yum install hoge
privvmpages usage: 50 MB (28% of 175)
- mysqlのコンパイル
makeは-j1相当(オプションなし)です。
privvmpages usage: 137 MB (77% of 175)Parallels Power Panelでoomguarpagesがイエローアラートになるけどちゃんとmakeできた。
- mysqldを起動してみる
privvmpages usage: 35 MB (20% of 175)
- cpan install Moose
再帰が深くなってくるとぐぐっとメモリが圧迫されて
privvmpages usage: 172 MB (98% of 175)あー、だめかも、と思ったら
:だめだった orz
Checksum for /root/.cpan/sources/authors/id/A/AD/ADAMK/Params-Util-0.35.tar.gz ok
Uncompressed /root/.cpan/sources/authors/id/A/AD/ADAMK/Params-Util-0.35.tar.gz successfully
Using Tar:/bin/tar xvf /root/.cpan/sources/authors/id/A/AD/ADAMK/Params-Util-0.35.tar:
Couldn't untar /root/.cpan/sources/authors/id/A/AD/ADAMK/Params-Util-0.35.tar
:
oomguarpagesがレッドアラート出ていました。
だた、再帰的にmoduleを追いかけていったのが原因ぽかったので、改めてcpan install MooseとやってみたらMooseのmake testまで行きました。
結局testで失敗してインストールはされなかったけど。
これだけのmoduleをまとめてインストールすることはそうそうないだろうし、分割してインストールすれば対応できそうではある。
次は運用状態の想定。
元々の目的を想定して、何も考えずにyumで入れたbind, postfix, httpd, mysqld*2を起動したところ、メモリは以下のような状態になった。
privvmpages usage: 140 MB (79% of 175)bindを落とすと以下のようになるので、bindが食っているらしい。
privvmpages usage: 140 MB (79% of 175)これではbindは厳しい。bindやめてNSDとか考えないといけないのか?使ったことないけど。
privvmpages usage: 37 MB (21% of 175)
bindさえあげなければpostfixも含めて何とかなりそう。
しかし、mysqldの方が厳しいかと思ったのに、bindの方がメモリ食いますか。
さて、感想。
この環境でコンパイルを行うのは無理ではないけど、余裕もない。
cpuの問題はなくてもメモリの割り当てがシビアすぎる。
そして、結構悩みどころなのが、daemonあげて実運用始めてしまうと何かのコンパイルを行うのがメモリの都合で難しくなってしまうという点。当初の想定通り、基本的にはyum updateでがんばるしかないのだけど、ケースによってはcpanぐらいは使いたいかもしれない。それが制限されるのは...ちょっと悩ましいなぁ。
さて、最後にpostfix, httpd, mysqldを起動したままyum updateをやってみました。30個ほどupdateされましたが、ピーク時でこの程度で収まってくれました。やはりyum主体で運用するのが良いようです。
privvmpages usage: 91 MB (51% of 175)
あと、ネットワークの話。それなりに瞬発力はあるようです。
# wget "http://ftp.iij.ad.jp/pub/db/mysql/Downloads/MySQL-5.1/mysql-5.1.30.tar.gz
02:29:32 (28.7 MB/s) - `mysql-5.1.30.tar.gz' saved [29050568/29050568]