タグ

mod_perlに関するdannのブックマーク (30)

  • ゆーすけべー日記

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

    ゆーすけべー日記
  • インストールした mod_perl2 の動作確認を Apache::Test で行う。 - developer

    ※mod_perl2のインストールは次の手順で行う。 CPANシェルで mod_perl2 をインストールする。 mod_perl2 でGETやPOSTでパラメータを受取るのに必要な libapreq2 をインストールする。 ※ Apache::Test は、mod_perl2をインストールする前に、install Bundle::Apache2 した時にインストールされます。 ファイル構成 $ tree ModPerlTest-0.01 ModPerlTest-0.01 |-- Changes |-- MANIFEST |-- META.yml |-- Makefile.PL |-- README |-- lib | |-- ModPerlTest | | |-- ResponseCleanup.pm | | `-- ResponseHandler.pm | `-- ModPerlTes

  • App::Benchmark::WAF - D-6 [相変わらず根無し]

    App::Benchmark::WAF tokuhirom/yappo/kazuho/hidekさんあたりが軽量なWAFの開発をなんか熱病に浮かされたかのようにしはじめたので、こりゃ負けてられないとApp::Benchmark::WAFを書きましたよ。 Apache::Testを使って、apacheから実際にHTTPリクエストサイクルを通って、CGIモードとmodperl(メモリに一度載せたらそれを再利用)する状態でベンチを取れるようにした。"make test"とすれば全てのフレームワークに対してab -c 100 -n 1000して計測する。 現在実装している中で、俺のMacBook上での計測値は以下の通り: # [cgi-app (cgi)]: 28.01 [#/sec] (mean) # [cgi-object (cgi)]: 34.92 [#/sec] (mean) # [cgi

  • Devel::NYTProf::Apache

    Elasticsearch (R)Evolution — You Know, for Search… by Philipp Krenn at Big Da...

    Devel::NYTProf::Apache
  • mod_proxy_balancerにしてみる - download_takeshi’s diary

    昨日つくったApacheモジュールですが、その後いろいろ調べてみたら、まだまだ改善の余地があるっていうか、大幅に見直した方が良いんでないかい?と思い出したので、もうちょっとしつこく検討してみます。 昨日つくったやつの主な流れを再度整理すると、 あらかじめmod_proxyでフォワード型のproxy機能を準備しておく 続いてApache2::ProxyAllot(←昨日つくったやつね)もPerlHeaderParserHandlerとして事前に準備しておく ユーザからは普通にリクエストを受け付けてよい(proxy設定とか無しでいいです) 受け付けたリクエストはApacheのHeder解析フェーズでProxyAllotにとっ捕まります ここで捕捉されたリクエストは、バックエンドのどのサーバに振り分けるのかを勝手に決められます さらに後段でmod_proxyを騙す(?)ためにproxy経由のリク

    mod_proxy_balancerにしてみる - download_takeshi’s diary
  • mod_perl 2.0.2 へのマイグレーション - naoyaのはてなダイアリー

    mod_perl 2 が Stable リリースになって気がつけば半年以上経った様子。はてなではこれまで mod_perl 2 は mod_perl 2.0RC-4 (1.99) とかを使ってましたが、ぼちぼち 2.0 にちゃんと移行した方がいいかなと、重い腰を上げつつ作業してます。 現在、mod_perl には互換性のない三つのバージョンが存在してます。 mod_perl 1.0 (1.29) mod_perl 1.99 mod_perl 2.0 (2.0.2) 1.0 は Apache 1.3 の API に対応している mod_perl、1.99 と 2.0 は Apache 2.0 API に対応している mod_perl です。Apache 2.0 がそれまでのバージョンとの API の互換性を捨ててアーキテクチャの見直しが行われたのをきっかけに、mod_perl も後方互換性を

    mod_perl 2.0.2 へのマイグレーション - naoyaのはてなダイアリー
  • mod_perl と Perl インタプリタプール - daily dayflower

    前々回も書きましたが,worker MPM で mod_perl を使うと,インタプリタプールなるものが作成されます。このインタプリタプールというのはまさに Apache におけるプロセスプール(prefork MPM の場合)やスレッドプール(worker MPM の場合)の Perl インタプリタ版のようなものです。 このインタプリタプールでの PerlInterpMax(総数の最大)はデフォルトで 5 になっています。ですから,「prefork MPM から worker MPM にしたらメモリ消費量がガツンと減ったぜ!httpd の thread 数 150 でぶんまわしてるのに!スレッドマンセー!」とぬか喜びしていると,実は Perl は並列に 5 つしか走っていなかった,ということがありえます。 2007/09/27 追記。adiary 作者さんからトラバいただきました(⇒Pe

    mod_perl と Perl インタプリタプール - daily dayflower
  • Apache::Test事始め - D-6 [相変わらず根無し]

    Apache::Test事始め 年末前後からApache::Testで真面目にテストを書き始めている。 ところが全くドキュメントがないんだね。いや、あるんだけど、携帯の機能を使いたいだけなのにあの厚いマニュアル読むの?みたいな感じで。まぁというわけでとにかくざくざくっとドキュメント読んでテスト書いてたらようやくなんとなく分かってきた。この間ある程度他人にも説明できたので自信ついたしw Apache::Testはmod_perlハンドラをテストするときに使う。ディストリビューション等でmod_perlをテストしようと思うとApache自体を立ち上げたりなんだりしなければいけなくて「一体どうテストすればいいんじゃ?!」となりがちだが、Apache::Testを使うと、テスト用httpd.confの生成テスト用のapacheの起動/停止mod_perlハンドラ上で動かしたTest::More等の

  • ゆーすけべー日記

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

    ゆーすけべー日記
  • Configure Catalyst 5.61 with Apache2 on Windows

  • はてなブログ | 無料ブログを作成しよう

    うまくいかない日に仕込むラペ 「あぁ、今日のわたしダメダメだ…」 そういう日は何かで取り返したくなる。長々と夜更かししてを読んだり、刺繍をしたり…日中の自分のミスを取り戻すが如く、意味のあることをしたくなるのです。 うまくいかなかった日のわたしの最近のリベンジ方法。美味しいラペを…

    はてなブログ | 無料ブログを作成しよう
  • Apache設定ファイルをチューニング

    Apache + mod_perl の場合、httpd.conf でいろいろと気をつけるべき点があるのですが、まとめてみました。ちなみにサーバの設定値は、 サーバスペックが Pentium 4 2.8GHz HT動作 / RAM 2GByte な環境で、Amazon Search が喰うメモリは mod_perl 動作で 1 httpd あたり 10〜40MByte 程度。サーバライブラリがある条件下でメモリーリークするので、最大で httpd は 100Mbyte 程度まで肥大。 という条件下で KeepAlive Off Timeout 60 MinSpareServers 10 MaxSpareServers 10 StartServers 10 MaxClients 50 MaxRequestsPerChild 50 という設定値になっています。各パラメータの値の意味を説明します

  • hide-k.net#blog: C::P::FV::Simpleをmod_perlで動かすときの注意

    Catalyst::Plugin::FormValidator::SimpleでmessagesのYAMLを指定する時やCatalyst::Plugin::FormValidator::Simple::AutoでprofilesのYAMLを指定するときに __PACKAGE__->config( validator => { messages => 'messages.yml', profiles => 'profiles.yml', }, ); てな風にします。 これだとCatalystビルトインのサーバーで動かす分にはいいのですが、mod_perlで動かす場合にはフルパスで指定する必要があります。 いちいち指定するのも面倒だしポータビリティもよろしくない気がするので C::P::FV::Simpleは if ( $setting && exists $setting->{message

  • [ThinkIT] 第3回:Backend Evolution(前編) (2/2)

    FastCGIやmod_perlでメモリ上にPerlプログラムを常駐させた場合、Webサーバーのプロセス1あたりが使用するメモリ容量は非常に大きくなります。はてなブックマークの場合、httpdのメモリサイズは40MB以上になります。 通常Webサーバーは、クライアントからの1リクエストに対して1プロセスあるいは1スレッドでそれに応答します。高トラフィックなサイトではサーバーに対する同時アクセス数が大きくなるため、結果としてサーバー上ではWebサーバーのプロセス/スレッドが何も立ち上がることになります。 すると、例えば40MBのプロセスが20立ったとすると、それだけで800MBのメモリを消費してしまいます(注5)。 1GBのメモリを搭載したサーバーで、Webサーバーのプロセスだけで800MBメモリを消費したとすると残りは200MB。OSが基として必要とするメモリをここから差し引くと残

  • [ThinkIT] 第4回:Backend Evolution(後編) (1/2)

    前回は「リバースproxyとは」と「Webサーバーのメモリ使用率」について解説しました。今回は前回の続きとして、「HTTPのKeepAlive」と「リバースproxyの構築」について解説していきます。 話は変わって、KeepAliveです。 1つのWebページをブラウザーが表示するにあたっては、htmlに加えてページ中に配置された複数の画像やスクリプトファイル、つまり複数のドキュメントをサーバーからダウンロードする必要があります。 この複数のリクエストを取得するのに、サーバーとクライアントの間で複数のコネクションを張ってやりとりするのは効率が良くありません。 サーバー側でKeepAlive設定が有効になっている場合、クライアントは、1つ目のドキュメントのダウンロードが完了したあとも接続を維持します。これにより必要なコンテンツを1つのコネクションで取得できるようになり、クライアントから見ても

    dann
    dann 2006/10/30
    >KeepAliveでクライアントとの接続を維持するのはプロセスをたくさん生成しても苦ではないリバースproxyで行い、ダイナミックコンテンツを生成するアプリケーションサーバー側ではKeepAliveを
  • Re: [Catalyst] acceptable solution for running Catalyst on Windows

  • mod_perl: User's guide

    Part I: Introduction Getting Your Feet Wet with mod_perl This chapter gives you the bare minimum information to get you started with mod_perl 2.0. For most people it's sufficient to get going. Overview of mod_perl 2.0 This chapter should give you a general idea about what mod_perl 2.0 is and how it differs from mod_perl 1.0. This chapter presents the new features of Apache 2.0, Perl 5.6.0 -- 5.8.0

  • mod_perl 環境下でやっちゃダメなものをいくつか。

    mod_perl 環境下でやっちゃダメなものをいくつか。 exit システム関数 正確には CORE::exit ですけど、実行すると現在の Apache プロセス(nobody)が落っこちます。 当然 root の Apache は子プロセスを立ち上げなおすんで 余分なシステム負荷が掛かりますし、mod_perl のメリットである キャッシュ効果が得られない=普通のCGI実行より鈍足になるという、 なかなか致命的な結果になってしまいます(^^; これを避けるために、mod_perl 環境下では exit() 関数 が 定義されてるので、必要な場合には必ず丸括弧をつけませう。 ○ exit( 0 ); × exit 0; 同じことが、die システム関数 にも言えます。こっちは素直に 「use Carp」して「croak 関数」で代替したほうが安全だと思う。 #eval の中で CORE:

  • hori-uchi.com: mod_perl使用時はMaxClientsの値に気をつけましょう

    mod_perl使用時はMaxClientsの値に気をつけましょう 導入するだけで既存のCGIスクリプトがお手軽に10~200倍高速になるmod_perlですが、mod_perl自体がサイズがでかいのと、高速化のため、モジュールをキャッシュするため、apacheのプロセスサイズが結構大きくなってしまいます。経験的にはだいたい1プロセスあたり20~30MByte位にはなります。このような性質上、mod_perlを使う場合はメモリの使用量を考えなくてはいけません。 ところで、Apacheのデフォルトの設定ではMaxClientsの値は150に設定されています。これは同時に最大150のリクエストをさばく、つまり最大150まで子プロセスを同時に生成するということです。仮に150個の子プロセスを生成するとすると、mod_perlを利用時の1プロセスのサイズをおよそ20Mbyteとすれば20×150=

    dann
    dann 2006/10/29
    MaxClientsの値は「サーバのメモリ容量 / Apacheの1子プロセスのサイズ」でおおざっぱに計算できます。
  • Catalyst - Web Framework

    Pemeliharaan Terjadwal: Playtech pada 2023-11-30 dari 11.00 PM sampai 2024-05-30 12.29 AM (GMT + 7). Selama waktu ini, Playtech permainan tidak akan tersedia. Kami memohon maaf atas ketidaknyamanan yang mungkin ditimbulkan. Pemeliharaan Terjadwal: PP Virtual Sports pada 2023-10-13 dari 5.00 PM sampai 2024-06-13 6.30 PM (GMT + 7). Selama waktu ini, PP Virtual Sports permainan tidak akan tersedia. K