タグ

ブックマーク / sfujiwara.hatenablog.com (4)

  • mod_xsendfile を使う - 酒日記 はてな支店

    mod_xsendfile for Apache2/Apache2.2 という Apache モジュールがありまして、これを使うとレスポンスヘッダに X-Sendfile: path/to/file と出力することで、Apache がレスポンスのボディをファイルの中身で差し替えてくれる。 Webアプリケーションで認証後、大きなファイルをダウンロードさせるような用途に便利。 このモジュールはその名の通り sendfile システムコールを(使えれば)使うので、アプリケーションが自前でファイルの中身を読んで送信するよりも速い(軽い)はず。http://www.linux.or.jp/JM/html/LDP_man-pages/man2/sendfile.2.html ってことでベンチマーク取ってみた。 1. 普通に静的ファイルを Apache が serve 2. mod_xsendfile

    mod_xsendfile を使う - 酒日記 はてな支店
  • TheSchwartz を PostgreSQL / SQLite で使うと worker プロセスが太る(のは解決済) - 酒日記 はてな支店

    MySQLだと問題ないみたい。あと、job の引数に何を渡すかで変わってくるらしい…… [2010-2-16 追記] 追記時点での DBD::Pg と DBD::SQLite の最新版 (DBD::Pg-2.16.1, DBD::SQLite-1.29) では、以下に記述されているメモリリークは解消されています。記事自体は記録の意味も兼ねているので消さずに残しますが、ご注意ください。 ちなみに SQLite 用のスキーマは TheSchwartz 自身に同梱されていて t/schema-sqlite.sql に、PostgreSQL 用のはリポジトリの trunk にあります。doc/schema-postgres.sql 検証用のスクリプトは最後に載せますが、単に client が job を突っ込んで、worker が job を取り出して $job->completed() するだけ

    TheSchwartz を PostgreSQL / SQLite で使うと worker プロセスが太る(のは解決済) - 酒日記 はてな支店
  • TheSchwartz の worker を安全に停止する - 酒日記 はてな支店

    TheSchwartz の worker を Ctrl-C とか kill で止めた場合に、job の処理が半端な状態で終わられると困る、という話。以前 Deamon::Generic で TheSchwartz の worker をデーモン化する(2) - 酒日記 はてな支店 で諦めたんだけど、ちょっと必要に迫られたので考えてみたら一応できたっぽい。 package MyWorker; use strict; use warnings; use base qw( TheSchwartz::Worker ); sub sighandler { warn "caught signal @_\n"; no warnings 'redefine'; *TheSchwartz::work_once = sub { exit }; } sub work { my ($class, $job) = @

    TheSchwartz の worker を安全に停止する - 酒日記 はてな支店
  • rsync 3.0 - 酒日記 はてな支店

    rsync 3.0 がリリースされたそうです。 差分更新の時に、転送元と転送先を同時に走査し、すぐに差分の転送を始める。 rsync 3.0: uyota 匠の一手 という、素晴らしい機能強化が。 今までは rsync は一旦全ての転送元ファイルをチェックしていたので、巨大なディレクトリを rsync しようとするとかなり長時間待たされる。だけならまだしもメモリもがんがん喰う、という問題があった。会社のファイルサーバを丸ごと転送しようとしたら、rsync が out of memory で死んだことも……(仕方ないのでサブディレクトリ単位で実行したり) 実際に 3.0.0 をインストールして試してみたところ、ファイルが大量にあるディレクトリでもすぐに転送が始まって、メモリ使用量も全然増加せず。これは素晴らしい。 が、いきなり運用中のサーバで使うのは怖い (ただの印象) 気がするので、いく

    rsync 3.0 - 酒日記 はてな支店
  • 1