仕事中の問題と解決メモ。

最近はPythonとGoogle Cloud Platformがメイン。株式会社ビズオーシャンで企画と開発運用、データ活用とか。https://github.com/uyamazak/

Google Container Engineで本番運用したらfluentd-cloud-loggingのメモリ消費量が一番多かった

f:id:uyamazak:20161219114207p:plain

なるべくサーバー代を抑えるために、速度重視のフレームワーク使ったり(Python3 + Falcon + Nginx)、メモリリークと戦ったり、メモリに溜め込まないように書いてるけど、勝手にログを集めてくれるGoogle仕様のfluentdが一番メモリを食っていた。

アプリケーション側からのログ出力は、問題発生時しか出ないようにしてるから、リクエストごとに書き込むようなことはしてない。数分、数十分に一回程度。

まあ、1ノードあたり130MBぐらいだからそこまでじゃない。でもフロントのWEBサーバは45MBぐらいで動くから、メモリだけ考えるとそれを2台以上動かせる感じ。



Yahooが先日公開したK2HFTFUSEの記事を読んでfluentdって遅いんだと思ってたから気になったのもある。
techblog.yahoo.co.jp

大規模なログなどの集約を行うケースなどでは、Kafka(+Storm)で構築されたシステムが用いられていることと思われますが、小規模であれば簡単にfluentdで構築されたシステムもあるかと思います。


無料枠でも十分なほど、設定不要で標準出力を集めて貯めて、WEB画面で見やすくしてくれるStackDriverは便利だけど、もっとリソース食わないのになるといいな。