タグ

psgiに関するmasasuzのブックマーク (11)

  • Plack Performance Tips - mount() and query_parameters() : D-7 <altijd in beweging>

    すごいヘビーな負荷を受けているPSGIアプリケーションで「なんでこれで負荷があがるの?」的な現象があったので二つほどTipを。ちなみにこれは 2013/03/06時点での話なので、もしこれをあなたが大分将来に読んでいるのなら、状況に変更がないかちゃんと確認すること! まずこのお話の前提:mod_perlなアプリをPSGIに移行したかった。アプリはmod_perlハンドラで書かれているので、Apache::RequestをPlack::Requestに書き換えたり、ハンドラ部分をオブジェクトにしてキレイにするくらいで、基的な構造は何も変えてない(←ここポイント)。あとはApache側とか設定をもりもりいじって、PSGIファイルを書いて、Starletでデプロイして、パフォーマンスが30%くらい悪くなった。さて、犯人は誰でしょう? まずアプリケーションを組む側が「やっちまったなぁ?」な件:P

    Plack Performance Tips - mount() and query_parameters() : D-7 <altijd in beweging>
  • http://dl.dropboxusercontent.com/u/224433/plackcon/index.html

    http://dl.dropboxusercontent.com/u/224433/plackcon/index.html
  • How to build a High Performance PSGI/Plack Server

    This document discusses key metrics to monitor for Node.js applications, including event loop latency, garbage collection cycles and time, process memory usage, HTTP request and error rates, and correlating metrics across worker processes. It provides examples of metric thresholds and issues that could be detected, such as high garbage collection times indicating a problem or an event loop blockin

    How to build a High Performance PSGI/Plack Server
  • YAPC::Asia Tokyo 2013: 「本当にあったレガシーな話」と最近のlivedoorBlogの改修 : D-7 <altijd in beweging>

    はい、というわけで自分のトークです: 昨年12月頃から関わってるlivedoorBlogのコードを触っていた時の憤りをスライドにぶつけてみました。 追記:スライドに「ログにマーカーをつける」というのは、(コード読んでないけど)多分こちらのエントリにあるLog::Minimal::Indentとだいたい同じ感じのヤツです ところでWeb上で見かける感想の中でこんなのがありました: 今年個人的に一番衝撃的だったのはやっぱ、livedoor blogのPlack化です。技術的な側面もさることながら、ああいう近視眼的には何のメリットもないし、逆にデメリットの方が大きそうな案件にリソースを割くジャッジができる会社としての姿勢が当に凄いなと。 実はビジネス的にも意味はあるんだなー。 なかなか書くことができなかったんだけど、その内容というのがこちらと→ ブログのお引っ越し機能を大幅に強化しました! (

    YAPC::Asia Tokyo 2013: 「本当にあったレガシーな話」と最近のlivedoorBlogの改修 : D-7 <altijd in beweging>
  • Plack時代のReverse proxyによるサーバー運用方法 ~YAPC::Asia2010の復習(後編)~ | hirobanex.net

    後編を書く前に、YAPC::Asia2011が終わってしまったので、変な勘違いをされるかとやめようかと思ったのですが。。。とりあえず、YAPC::Asia2010の復習として、Plack時代のPerlによるサーバ運用では、わりと一般的なリバースプロクシによる運用を、このブログの実例で報告します。 前置き:plackupはわかったけど、実際どうするの? 「Perlは遅い」の原点だったApacheのcgi時代は終わりを告げ、Apacheに依存したmod_perl時代も終りを告げました。Plackを使えば、CGIだろうとmode_perlだろうとPerlのスタンドアローンサーバーであろうと、かなり汎用的に動かせる時代です。mod_perlとかFastCGI前から使っていれば、あるいは、「Rubyではふんふん、Pythonではふんふん」とか語れれば、いろいろな歴史をしっているからすぐ実践しやすいと

  • 第1回 PSGI/Plack―フレームワークとサーバをつなぐエンジン (2) | gihyo.jp

    Plack─⁠─PSGIユーティリティ PSGIのおかげで、フレームワークはCGIやFastCGI、mod_perlといった環境の差異を吸収するためのコードを書く必要はなくなり、PSGIのインタフェースだけを実行すればよくなりました。実際に多くのフレームワークがすでにPSGIをサポートしていますが、さて、そうしたアプリケーションをどうやって動かせばよいのでしょうか。 Apacheなど既存のWebサーバでPSGIアプリケーションを動かすには、CGI、FastCGI、mod_perlなどのインタフェースをPSGIに変換する必要があります。また、PSGIをネイティブで実行できるPerlベースのHTTPサーバもほしいところです。 Plackはそうした要件を満たすためのユーティリティで、リファレンス実装としてのPSGIサーバやそれらへのアダプタ、周辺ライブラリや後述するミドルウェアが含まれています。

    第1回 PSGI/Plack―フレームワークとサーバをつなぐエンジン (2) | gihyo.jp
  • Deploying Plack Web Applications: OSCON 2011

    Building a desktop app with HTTP::Engine, SQLite and jQueryTatsuhiko Miyagawa

    Deploying Plack Web Applications: OSCON 2011
  • dotcloud で Amon2 をつかう! - tokuhirom's blog

    Perl5 の PSGI アプリケーションが死ぬほど簡単につかえる dotcloud の beta 版がリリースされ、一部の Perl monger に invitation がばらまかれているとともに、id:miyagawa さんがdotcloud に join したというニュースもあり、ゴールデンウィークまっただなかの日Perl Mongers のあいだでは空前のコンフィブームとなっています。 というわけで、DotCloud で hello world をやる方法。 sudo easy_install dotcloud dotcloud create tokuhirom dotcloud deploy --type perl tokuhirom.hello mkdir hello cd hello echo "sub {[ 200, [ 'Content-Type' => 'te

  • ゆーすけべー日記

    サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ

    ゆーすけべー日記
  • 第1回 PSGI/Plack―フレームワークとサーバをつなぐエンジン (3) | gihyo.jp

    PSGIミドルウェアを利用する PSGIミドルウェアはアプリケーションと同様にコードリファレンスとして実装されますが、いちいち.psgiファイルに記述するのはあまり効率が良くありませんし、再利用性もありません。そこでPlackにはミドルウェアをモジュールとして利用するためのベースクラスPlack::Middlewareや、それを利用して実装された各種ミドルウェアが同梱されています[2]⁠。 ここでは、これらのミドルウェアを利用して先ほどのTatsumakiアプリケーションを拡張してみましょう。 Auth::Basic PSGIアプリケーションに簡単なHTTP認証機能を付けるミドルウェアがAuth::Basicです。容易に拡張できるコールバックインタフェースを持っているため、データベースやLDAP(Lightweight Directory Access Protocol)などとの連携もでき

    第1回 PSGI/Plack―フレームワークとサーバをつなぐエンジン (3) | gihyo.jp
  • PSGI/Plack - [Perl Hackers Hub]

    連載では、第一線のPerlハッカーが回替わりで執筆していきます。記念すべき第1回は、WEB+DB PRESS誌ではVol.2から執筆しており、長らく連載も担当していた宮川達彦さんです。 はじめに PerlでWeb開発をするためのフレームワークは百花繚乱、人気を集めています。稿では、これらのフレームワークが共通して利用するためのインタフェース仕様であるPSGIと、そのエンジンとしての実装であるPlackを紹介します。 PSGIに至る道 PerlとWebアプリケーション開発の親和性 Perlは「インターネットのグルー(糊:のり)言語」とも言われ、CGIによる開発がメインだった1990年代から、Webアプリケーション開発に最も関わりのあるプログラミング言語の一つと言ってよいでしょう。2000年代に入っても、Ruby on RailsPHPなどの他言語からの影響も取り入れながら、Web開発

    PSGI/Plack - [Perl Hackers Hub]
  • 1