タグ

PSGIとStarletに関するmimesisのブックマーク (4)

  • 最近のPlack/Starletのパフォーマンス改善まとめ。最大2倍の性能向上 - Hateburo: kazeburo hatenablog

    最近のPlackとStarletにはパフォーマンス改善のため次のような変更が加えられています。 Plackに対する変更 (カッコ内はバージョン) Plack::Request::query_parameters の最適化 (1.0018) Plack::Middleware::AccessLog に Apache::LogFormat::Compilerの導入 (1.0023) Starletに対する変更 local $SIG{..} を無くし、rt_sig* system call が呼ばれる回数を削減 (0.17_01) headerとbodyを結合して一度に出力する閾値を1024から8192に変更 (0.18) ベンチマーク これらの変更の効果を確認するために、次のベンチマークを実行してみます まずアプリケーションはこんな感じ use Plack::Builder; use Plac

    最近のPlack/Starletのパフォーマンス改善まとめ。最大2倍の性能向上 - Hateburo: kazeburo hatenablog
  • StarmanとStarletの差異

    Tatsuro Hisamori @myfinder だいぶ違うということか。 RT @kamipo: StarmanとStarletの差異はせいぜいインドとインドネシアぐらいのもんじゃ。 徳永 広夢 @tokuhirom2 Starlet と Starman の違いは Net::Server つかってるかどうかってところと、keepalive まわりの実装の有無ぐらい?

    StarmanとStarletの差異
  • PSGI Server がリクエストボディをどうしているのか知りたくなったので…

    背景 諸般の事情により(お察しください)、巨大なファイル(おおむね2GB以上)が HTTP で POST された場合に、PSGIでどのように処理されるのかを調べてみましたよ。 観点としては、PSGIより下のレイヤー(PSGI server)でリクエストボディをどのように扱っているのかを調査。全体をバッファリングしてしまうのか、またボディの読み込みを遅延(あるいは拒否)できるのかを確認した。 また、想定しているシステムの temp 領域がかなり小さいということもあって、PSGI app の中で HTTP ヘッダの内容にもとづいてボディの扱いを変えたい(指定したディスクにバッファリングするのか、それともそもそもボディを無視するのか)。そのため、バッファリングが遅延できるようになっていると嬉しい。 結論 総じていうと、 Stream::Buffered を使って事前にリクエストボディ全体をバッフ

  • Starlet 使ってみた|perl|@OMAKASE

    CPANでPlack関連の情報はないかと漁っているとstarmanライクなPSGI仕様のサーバ Starlet があると聞いて早速ためしてみました。 http://search.cpan.org/dist/Starlet/ 今まで自分の所ではplackで利用できるWAFを自前で書いてそいつをStarman + Server::Starterを使ってで動かしていました。 Starmanでなにも問題なく動いてるので変更する意味はないのですがPSGI仕様のいい所(簡単にインターフェースを取り替えられる)を利用させてもらいちょっとだけ試してみました。 変更前の環境はフロントにlighty(mod_proxy)+バックにStarman,Server::Starterな構成です。でStarmanはdaemontoolsで起動させてます。 変更前 starman利用時のdaemontoolsのrun-s

  • 1