こんばんは、ささきです。
申し訳ありませんが、9月の輪読会の方に参戦できなさそうですので、
恒例(だと勝手に思っている)”今月のvcap-dev" をこちらに流してみます。
今月はリポジトリ分割後のソースを試してみたユーザーが多いのか、
リークの話題が多々あります。ロングランテストしてねーだろ、的な....w
====
* Nginx のCPUが100%になる
Router v2 を dev_setup で生成されるようなNginxの設定で使うと、そのうちCPUが100%に張り付きます。
これに関しては、自分の環境でも発生してしまったので、strace しながら、luaのGCの仕組みを色んなサイトで読んで
解決方法を提案したところ、すぐに修正してもらえました。
# strace で明らかにmallocしまくり、の状態がわかったので徹底的に文字列の生成部分を疑ってみたら、
# routerのソースじゃなくて、nginxのconfにありました...w
お使いのrouterで、
-- add package.path and package.cpath
package.path = package.path..";<%= node[:lua][:module_path] %>/?.lua"
package.cpath = package.cpath..";<%= node[:lua][:module_path] %>/?.so"
な感じの設定が残っていたら、確実にメモリリークしてCPUが張り付きますので
修正が必要です。
* Ubuntu 12.04 のサポートの件
xulrunner と libpq ではまるようです。
自分の経験上だと、dev_setup だと全部まとめていれようとするのでだめですが、
個々のコンポーネント別に12.04でちゃんと動くかどうか、という点では、動くモノもあるし
そうじゃないものもあります。
# 12.04 のほうだと nginx なんかはパッケージのみでいれられます。
なんですが、例えば CloudController/Stager を Ubuntu 10.04 でやって DEA は 12.04 でやります、
とかやったりすると、Ruby や Node の拡張ライブラリで、
ビルドする環境と実際に動く環境に差分が発生しちゃうので
爆弾抱えながら運用していくことになります。。。
というわけで、あげるときはまとめて上げる必要がありそうですね。
そして、とはいえ、この論理では、一度stagedになってしまったアプリも
再度stagingをしてあげる必要があるわけですが、そんなのもう無理だよ、
ということでおいそれとバージョンアップします、ということもできないわけで。。。
* HealthManager (とCloud Controller) がメモリリークする
リポジトリ分割後のHM(とCC)を使うとメモリがリークする、というのが報告されています。
ある報告ではYAMLのライブラリである psych をいれたら直ったよ!というのがあるのですが、
Ruby 1.9.2 はインストール時にlibyaml-dev がOSにインストールされているかどうかで、
このライブラリが入ったり入らなかったりします.
libyaml-dev あり: psych が使われる
libyaml-dev なし: syck が使われる
ただ、上記の二つのライブラリは互換性がない部分があるので、
既存のシステムにいれるときには十分注意してください(ささき談)
* CloudFoundry のログ収集を標準機能としていれたい
fluentd meetupでも発表されていた楽天で使ってるらしいCFのログ機能の拡張についてのディスカッションが開始されたようです。
* CloudFoundry のdashboard
ひっそりとTSDBを使ったメトリックス収集ツール(/varzとか集めます)が前からでていたのですが、
いんすとーるできねーよ、で盛り上がってました。
中身はみてないのですが(Javaだし(TM))、この辺(vcap-tools)の実装を追ってみると、
どうやって管理系のツールを実装していけばよいかのヒントになると思います。
* インドネシアでCloudFoundryのコミュニティが発足
とりあえず Community Exchange 的なのやるなら声かけて!ってレスしておきました。
====
それではまた来月。
--
yssk22