読者です 読者をやめる 読者になる 読者になる

uyamazakのブログ

仕事中の問題と解決メモ。PythonとGoogle Cloudがメイン。bizoceanで新規事業の企画と開発担当。 BigQueryを使ったビッグデータ収集・解析・リアルタイム処理プロジェクト進行中 https://github.com/uyamazak/oceanus

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は便利だけど、もっとリソース食わないのになるといいな。