mod_perlに驚く
2005/12/23 [22:27:52] (金) 

劇的に早い。
いや、世間はすっかりクリスマスだというのに、わたしは、今日も今日とてバナー作りに励んでたわけだが。息抜きにpostgresqlとdbiを調べて、mod_perlで動かすために行儀の良いスクリプトを書いてみた。
345行のデータベースからランダムに一行引っ張り出して表示する。
たったそんだけ。データ量も少ないので、純粋にperlを呼び出すところの負荷も見えようというもの。普通にcgiとして呼び出したのと、mod_perlのRegistryと比較してみて腰が抜けたのだ。早いとは聞いてたけどこんなに早いとは思わなかった。最初の一度はどちらも同じなのに、その次からがすげーのひとこと。ブラウザがキャッシュを表示してるだけかと思うほどだ。
自宅サーバーのLibretto50のMemory32Mだと、ほとんどなにもしない状態でSWAPしてる状態。cgiでperlが呼ばれるとそのたびに、確実に、新たにswapすることになる。mod_perlはいわばperlインタプリタ内蔵。一度はスクリプトをコンパイルするけどそれ以降はメモリに蓄える。そりゃ早くなるはず…といった理屈以上に早く感じたのはLibretto50の貧相なサーバーだからか。
うううむ。こりゃmod_perl用にcgiを書き換えてみないことには始まらないかも。当然データを丸読みしてメモリを食いそうなのは、またそこでSwapの心配・対策を考えなきゃいけないんだろうけど。
月間30億ページビューとやらの、mixiとかはてながmod_perlというのもわかるような気がする…ってLibretto50サーバーと比べるのは無茶、か。
mod_perlでこんなに早くなるのがわかったのは、ちょっと収穫だったなぁ。
| << | 2026/1 | >> | ||||
|---|---|---|---|---|---|---|
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
【最近の20件】
- 20260129 ブログをレスポンシブ対応にリニューアル
- 20260126 ブログのふり返り
- 20260121 小ネタ:ed25519秘密鍵公開鍵とJson serialized canonical
- 20260120 ActivityPubは自作実装しよう!
- 20260117 RFC9421版HTTP Signatureに対応
- 20260111 HTTP Signatureの署名対象文字列
- 20260109 web本棚のActivityPub対応
- 20260106 web本棚のソースコード公開
- 20260104 web本棚
- 20260101 謹賀新年2026
- 20251231 2025年ふりかえり
- 20251213 perlと30年
- 20251210 ActivityPubの投稿削除
- 20251101 日常雑感
- 20251026 テキトーフェッチメール
- 20251014 ActivityPubサーバーで投稿の編集
- 20251008 元WINDOWS10のノパソにlinux mint
- 20251002 GBLシーズン「変わりゆく物語」でACE到達
- 20250925 ブログのアクセス制限
- 20250922 ActivityPubサーバーに引用を実装


![サーバ構築の実際がわかる Apache[実践]運用/管理 (Software Design plus)](https://m.media-amazon.com/images/I/51qAG+e+baL._SL500_.jpg)