タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

bufferに関するudzuraのブックマーク (2)

  • fluentdのBufferedOutputプラグインを書くときの注意点とか | おそらくはそれさえも平凡な日々

    fluetndのBufferedOutput系プラグインは、書き込みを適当なchunkにまとめて処理をしつつ書き込みに失敗したらよしなにリトライしてくれる便利なやつです。ただ実際にBufferedOutputプラグインを自分が書くとなった時に挙動をちゃんと理解していなかったのでまとめ。 まとめを先に書くと以下。 書き込み処理であるwriteに失敗した場合は例外を投げる 正しくリトライ処理を行うため 書き込みの処理内容はatomicである必要がある 中途半端に書き込まれたりして結果としてデータが重複したりしないように 一度に書き込めるサイズを調整するためにbuffer_chunk_limit等を調整する Bufferedプラグインのリトライ処理に関してはBufferプラグインの概要に以下のように書かれています。 もしチャンクの書き出しに失敗した場合、チャンクはキューに残され、Fluentdは

    fluentdのBufferedOutputプラグインを書くときの注意点とか | おそらくはそれさえも平凡な日々
    udzura
    udzura 2015/01/30
    便利記事じゃないすか...
  • 64bit時代のバッファ処理

    プログラミングの「常識」は時代とともに変化します。そのひとつが、サーバプログラムにおけるバッファ処理です。 1990年代後半から2010年頃までは、メモリ空間の大きさ(32bitすなわち4GB注1)を超える大きさのファイルを扱う時代でした。このため、httpdなどのサーバプログラムにおいても、入出力データをいったんテンポラリファイルとしてバッファリングする必要がありました。ですが、ファイルI/Oはメモリアクセスと比べると低速です。このため、小さなサイズのデータについてはメモリアクセスする一方で、大きなサイズのデータについてはファイルI/Oを用いる、という煩雑なコードを書く必要がありました。 しかし、2014年も暮れとなる今 、サーバサイドにおいては64bit環境のみを考えれば良い時代に入りつつあります。 もちろん、64bit環境といったところで、64bit空間の全てをユーザプロセスが使える

    udzura
    udzura 2014/12/17
    ひろやんさんに、consulのアレもこういうことっすよねと言われた。なるほど...
  • 1