out_forward って詰まると性能劣化する?

4
Sadayuki Furuhashi @frsyuki

@tagomoris なるほど、一理ありますね。

2013-11-27 15:22:34
tagomoris @tagomoris

@frsyuki ただ問題の発覚が遅れる可能性が高くなるのでサポートする人は大変そうです(ヒドイ

2013-11-27 15:22:56
そのっつ (Naotoshi Seo) @sonots

@frsyuki 用途によると思っていて、リアルタイム重視のシステム化、データ信頼性重視のシステムかによると思います。そして、うちはリアルタイム性を重視しています(監視に使っているので)

2013-11-27 15:23:11
Sadayuki Furuhashi @frsyuki

この辺りのエラー制御、だいぶ難しい気がしてきた。だけどそこをうまく扱えてこそだなぁ。

2013-11-27 15:23:13
Sadayuki Furuhashi @frsyuki

@sonots ふむ、監視に使うなら確かに実時間性の方が重要ですね

2013-11-27 15:23:37
tagomoris @tagomoris

@sonots @frsyuki 監視に使うのが主目的なんだったら、入口のところで一定以上遅れてるデータは問答無用で捨てればいいんすよ

2013-11-27 15:24:22
そのっつ (Naotoshi Seo) @sonots

@tagomoris @frsyuki そういうオプションがあったら使いたいかもですね。

2013-11-27 15:24:58
Sadayuki Furuhashi @frsyuki

@tagomoris @sonots でもforward先のサーバが処理限界に達している場合は、遅れているかどうか入口で判断するのは難しいのでは?

2013-11-27 15:25:12
tagomoris @tagomoris

@frsyuki @sonots そうですね、でもその場合は forward 元でも捨てられると思います

2013-11-27 15:26:35
Sadayuki Furuhashi @frsyuki

@tagomoris @sonots ふむ、1.in_forwardは到達性重視(遅れは許容)するように動作し、性能限界に達したら新しいデータを受け付けないようにする。2.out_forwardは宛先がデータを受け付けてくれなかったら捨てる。という挙動は実装可能、ということです?

2013-11-27 15:28:19
tagomoris @tagomoris

@frsyuki @sonots out_forward がどうするかは選択可能になっていた方がいいですね。多段転送構成の場合は全段で詰まるまでは耐えられるというケースもあるし。あと捨てる場合でも自分は first out か last out かを選びたい。

2013-11-27 15:30:44
そのっつ (Naotoshi Seo) @sonots

fluent-agent-lite があのような挙動ができるのは、in_tail と out_forward が密接にくっついてて、送れない以上は読み込まない、という処理ができるからか。

2013-11-27 15:31:58
tagomoris @tagomoris

fluent-agent-lite いちおうちゃんと考えてあのような設計になっております

2013-11-27 15:33:15
tagomoris @tagomoris

だからメモリも食わないし突然CPU食い尽くして死亡とかしない

2013-11-27 15:33:45
そのっつ (Naotoshi Seo) @sonots

@tagomoris ところで、fluent-agent-lite でローテーションされたログも追おうと思ったら、毎時 tail -F のプロセス開き直す、とかすればいいんですかね?

2013-11-27 15:41:12
tagomoris @tagomoris

@sonots tail -F がやってくれる追跡以上に何かの理由でログを追うってことですか?

2013-11-27 15:42:03
そのっつ (Naotoshi Seo) @sonots

@tagomoris 「ファイル.日付_時間」ってかんじでログを吐く深遠なシステムがありましてですね。

2013-11-27 15:42:46
tagomoris @tagomoris

@sonots もし使ってるのが rotatelogs なら current を指すsymlinkを作るオプションが apache httpd 2.4 同梱のバージョンについてるからそれ使うといいと思いますね

2013-11-27 15:44:31
そのっつ (Naotoshi Seo) @sonots

ローテーションというのは語弊があったな。ローテートしていないわけだし。

2013-11-27 15:44:31
そのっつ (Naotoshi Seo) @sonots

@tagomoris 今はそんなかんじでやっているのですが、fluentd なら in_tail_ex があるのでその設定を不要にできそうで、それで fluentd と fluent-agent-lite の性能比較をしはじめたという流れだったりします。

2013-11-27 15:47:00
そのっつ (Naotoshi Seo) @sonots

しかし、fluent-agent-lite はすばらしかった。

2013-11-27 15:47:42
tagomoris @tagomoris

@sonots 入力を複数 fd から受けるのは構造上いろいろ変更が必要 & めんどくさい制約をいっぱい加えないといけなくなるので、できればやりたくないですね

2013-11-27 15:48:49
tagomoris @tagomoris

fluent-agent-minimal を作って rotatelogs の吐くログを追えるようにしよう! (-5点)

2013-11-27 15:50:03