VPSの仮想OSで、同じホストに収容されているゲストの数を推定する方法について考えていた。一般的には他のVEは隠蔽されており、得ることができない情報。
VEIDであれば、/proc/vz/veinfoや/proc/vz/vestatで取得することができる。このサーバで言えば34XXX。ただこの番号はランダムでつけてもいいので、ゲストの数とは直接関連はない。たぶんこのサービスではVEIDを複数のホストで共有していて、言わば契約者IDみたいなものなんだろうと思う。私が契約した時点ですでに3万ユーザ以上いて、単価が月1000円とすると売上は3000万円/月? こんな計算で合ってるかな??
/proc/statのcontext switchの数で推定することができないかなぁと思った。muninで観察していても、ここ以外の値(例えばprocesses=fork数)はどうもVEに閉じた値しか出てこないんですね。ctxt swの項に限って通常のサーバよりもずいぶん大きい値が出てくるので、ホスト全体の値になってるんじゃないかと思います。
通常のサーバでは、(無論仕事の内容にもよりますが)ctxt swは毎秒100回未満ですが、このサーバでは平均して毎秒45k回も記録されています。私のサーバはCPU使用率も低い暇なサーバなので、これは決してVEに閉じた値ではないはずです。
つまり、例えばctxt sw=毎秒60回のVEが1000台集まったら、60k回観測されるんじゃないかということです。でも1000VEはメモリ的にちょっと詰めすぎな気もしますね。
まあもう少し考えてみます。