タグ

mod_perlに関するhogemのブックマーク (9)

  • mod_perlではファイルテスト演算子は不用意に使えない : ひろ式めもちょう

    http://memo.hirosiki.jp/article/33577109.html 「mod_perlで動いてる」なんて書いてたが、まっとうに動いてなかったよ岬くん。 if ( ( -r $rdffile ) && ( ( ( -M $rdffile ) * 24 * 60 ) < 15 ) ) { RedirectTo( $rdffile ); } -M演算子は、指定したファイルがperlプロセスが起動した時点から見てどのくらい前に修正されたかを返すので、mod_perlで使うとほぼ無意味な動作をする。 したがって、ここは(スクリプトがキレイでスマートかどうかはぼくが書くものなのでともかくとして) my( $m ) = ( stat( $rdffile ) )[9]; $m = time() - $m; if ( ( -r $rdffile ) && ( ( $m / 60 )

    mod_perlではファイルテスト演算子は不用意に使えない : ひろ式めもちょう
    hogem
    hogem 2009/03/21
    "-M演算子は、指定したファイルがperlプロセスが起動した時点から見てどのくらい前に修正されたかを返すので、mod_perlで使うとほぼ無意味な動作をする。"
  • Perl:forkしたプロセス間でのメモリ領域の共有 (Link: 遅レス。 - Apache mod_perl - MaxClients の値に注意) | Typemiss.net

  • mod_perlで親プロセスとのCopy on Writeな共有メモリを増やす方法。 - hideden.hatenablog.com

    大量にアクセスがあってMaxClientを大きく設定したい場合、Apacheの1プロセスあたりのメモリを少なくするのが重要。当然アプリ側で大きなライブラリを読み込まずに画像の変換はGearmandにタスクとして投げたりとかの工夫するのも有効だが、fork元になるApacheの親プロセスと子プロセス間でできる限りCopy on Writeな共有メモリを増やすのも有効。 その辺の詳しい仕組み等の話はnaoyaさんがd:id:naoya:20080212:1202830671でしてるのでそこを参考に。linuxカーネルまわりの仕組みって楽しいよね。会社の案件ではFreeBSDサーバーも結構あるんだけどFreeBSDではどうなるのかは知らない。 で、社内にXenなテストサーバーがあるのでまっさらな環境で色々実験してみた。・・・過程を全部書こうとしたら長くなったので省略。地味にpsしたり/proc/

    mod_perlで親プロセスとのCopy on Writeな共有メモリを増やす方法。 - hideden.hatenablog.com
  • ゆーすけべー日記: YourAVHost その後

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

    ゆーすけべー日記: YourAVHost その後
    hogem
    hogem 2008/01/18
    "静的コンテンツには mod_expire で Expires ヘッダーをつけてキャッシングさせよ"
  • 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:

  • mod_perl: Installing mod_perl 2.0

    Prerequisites Before building mod_perl 2.0 you need to have its prerequisites installed. If you don't have them, download and install them first, using the information in the following sections. Otherwise proceed directly to the mod_perl building instructions. The mod_perl 2.0 prerequisites are: Apache Apache 2.0 is required. mod_perl 2.0 does not work with Apache 1.3. Dynamic (DSO) mod_perl build

  • mod_perlのインストール

    PerlをApacheモジュールとして動かしてしまうものです。CGIで動かしていたスクリプトが、これを導入するだけでオーバーヘッドが解消し、かなり高速になります。 00/2/19 ・ libwww-perlをインストールするときsuに-を付けないとうまくインストールできない場合がある ・ DSOでインストールする方法を追加 準備(libwww-perlのインストール) libwww-perlが必要ですので先ずインストールします。今回はCPANモジュールを使ってダウンロード&インストールしてしまいました。CPANモジュール初回実行時は、ダウンロード先など色々聞かれるので、適当に答える必要があります。 $ su - # perl -MCPAN -e shell cpan> install Bundle::LWP いろいろ聞かれますが、とりあえずリターン連打でインストール。 準備 今回はmod_

    mod_perlのインストール
  • apache に mod_perl を組み込む

    mod_perl とは? Apache モジュール内にラップされた完全な Perl インタプリタ のことです。通常 Perl で書かれたスクリプトを実行するには毎回 perl インタプリタを呼び出しコンパイル・実行されます。ところが mod_perl の場合は一度呼び出された後はコンパイルされた状態のまま apache 内で次のリクエストを待ち続けます。つまり perl スクリプトが apache の機能として実行されます。 一説には普通の perl スクリプト(cgi)と比較すると200倍速いとされています。他のメジャー言語である php などと比較しても速い実行結果があるようです。実際にphpjavaとでベンチマークをとりテストした方もいるようです。 JavaPerlよりも比較にならないほど速い? 巷では「perl は遅いから...」とよく言われてますが遅いという理由だけで C言語

  • http://www.din.or.jp/~bigstone/cgilab/cgitips/mod_perl.html

  • 1