最近の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
Tatsuro Hisamori @myfinder だいぶ違うということか。 RT @kamipo: StarmanとStarletの差異はせいぜいインドとインドネシアぐらいのもんじゃ。 2010-10-01 11:36:24 徳永 広夢 @tokuhirom2 Starlet と Starman の違いは Net::Server つかってるかどうかってところと、keepalive まわりの実装の有無ぐらい? 2010-10-01 11:36:32
背景 諸般の事情により(お察しください)、巨大なファイル(おおむね2GB以上)が HTTP で POST された場合に、PSGIでどのように処理されるのかを調べてみましたよ。 観点としては、PSGIより下のレイヤー(PSGI server)でリクエストボディをどのように扱っているのかを調査。全体をバッファリングしてしまうのか、またボディの読み込みを遅延(あるいは拒否)できるのかを確認した。 また、想定しているシステムの temp 領域がかなり小さいということもあって、PSGI app の中で HTTP ヘッダの内容にもとづいてボディの扱いを変えたい(指定したディスクにバッファリングするのか、それともそもそもボディを無視するのか)。そのため、バッファリングが遅延できるようになっていると嬉しい。 結論 総じていうと、 Stream::Buffered を使って事前にリクエストボディ全体をバッフ
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
2015年8月23日(日)2015年9月26日(土) このブログはMovable Typeではないですが、CentOS 7でMovable TypeをPSGIで動作させた時の設定を記しておきます。 前回のApacheとPHP-FPMも同じ組み合わせの情報はありませんでしたが、今回も同じ構成の情報がなかったので、またいろんな情報を参考にまとめました。 調べ物をしていてたまにあるのですが、記事に日付が入っていないブログがあります。 情報の鮮度がわからないので、せっかく記事にしてあるのに残念ですね。 本題です。 前回設定した環境がベースです。 CentOS 7 Apache 2.4 (suEXEC有効) MariaDB 5.5 Memcached PHPは、今回関係ないですね。 依存関係などで後から問題を出したくないので、今回も基本的に標準レポジトリしか使いません。 どうしてもパッケージがない場
2012年8月27日 22:00 Amazon EC2 + nginx + PSGI で、MTを起動する Amazon Web Serviceで、Movable Type + nginx + PSGI で、環境構築した時のメモ書きをシェアします。インストールに当たっては、MTのwikiを参考にしています。なお、事前にCPANの必須モジュールがインストールされており、Apache+CGIでMovable Typeが動作している前提としました。 ディストリビューションはAmazon Linuxを利用してみました。 前提環境 サーバー Amazon EC2 マイクロインスタンス ディストリビューション Amazon Linux 公開パス /var/www/html 手順 開発ツール + nginxインストール cpanmインストール + 関連モジュールインストール 常駐プロセスの整理 nginx
はじめに PSGI は、Perl Web Server Gateway Interface の略で、Perl ウェブアプリケーションについて、個々のウェブサーバーに対応したコードを記述することなく、効率的に開発できるように規定したインターフェイスです。 従来の PowerCMS は、各種ウェブサーバーに対応したコードを記述していましたが、PowerCMS 3.2 以降では PSGI に正式に対応しており、要件にあわせて様々なウェブサーバーを活用できるようになりました。 PSGI に対応したアプリケーションは、PSGI サーバーという PSGI に準拠したウェブアプリケーションサーバーで動作します。加えて CGI アプリケーションと異なり、アプリケーションサーバー上に永続化して動作するため、レスポンスがよくなります。 PSGI サーバーの多くは、簡易的なウェブサーバー機能しか実装されていませ
TOP マニュアル Movable Type 6 PSGI Plack 環境で Movable Type を動かす Movable Type 6 ManualMovable Type 6 マニュアル PSGI/Plack について PSGI とは、Perl Web Server Gateway Interface の略で、Perl で書かれたウェブアプリケーションのサーバーレイヤーを抽象化する為の仕様です。Python の WSGI や Ruby の Rack に相当します。PSGI に対応したアプリケーションは、PSGI サーバーと呼ばれる PSGI に準拠したウェブアプリケーションサーバー上で動作します。 PSGI サーバーには簡易的な Web サーバ機能しか実装されていない事が多いので、実際の運用に際しては別途 Web サーバを用意することをおすすめします。nginx や Apach
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く