ネットサービスの開発に役立ちそうな話題を中心にお届けします。
F.Ko-Jiの「一秒後は未来」 > 豆知識 > 共用レンタルサーバーのPHPがCGI版で動いている理由
2009年01月17日 02:17
1113日前に投稿

共用レンタルサーバーのPHPがCGI版で動いている理由

  • ... PV
  • このエントリーをはてなブックマークに追加

「レンタルサーバーのPHPはなんでCGIで動かしてるところが多いんだろ?」と聞かれて答えられなかったので調べたメモ。

PHPを動かす場合、CGIとして動かす方式とApacheのモジュール(mod_php)として動かす方式があります。PHPだけでなくPerlなどもそうですが。

負荷やパフォーマンスの面で見るとモジュール版のほうが負荷は低いのですが、多くのレンタルサーバーはCGIで動かしています。

理由を調べてみると、「小粋空間: PHP における「モジュール版」と「CGI 版」の比較 + WordPress の適用例」にて引用されている「DreamHostのカタチ〜良い鯖.com〜 - PHP」に次のように書かれていました。

ちなみに、中止した理由ですが、Apache module版だと、Dreamhost管理人がユーザごとのPHP負荷を計測するのが不可能なのが原因だそうです。

CGIとPHP - Land.to非公式QandA」にも次のように書かれています。

mod_phpでは負荷をかけているユーザを特定しにくいため、サーバが重くなったときの対処が難しくなります。新サーバ方式なら誰のプロセスかすぐ特定でき、対処も容易で、サーバ全体への悪影響を最小限にできます。

つまり mod_php だとプロセスは Apache のプロセスになるので、たとえば ps コマンドで表示されるユーザも apache となり、負荷をかけてるユーザの特定がちょっと難しいというのが理由のようです。なるほど。

(追記) はてブのコメントに「局所化」ってのがあった。グローバル変数が他のプロセスから読み込まれる可能性があるとかそういうことかな?

スポンサード リンク

Written by
Meity.jp - Twitterなかまでプライベートなオフ会を開催したいなら


トラックバック

このエントリーのトラックバックURL:

この一覧は、次のエントリーを参照しています: 共用レンタルサーバーのPHPがCGI版で動いている理由:

» [PHP] CGI版が好まれる理由 from よくきたはてダ
つまり mod_php だとプロセスは Apache のプロセスになるので、たとえば ps コマンドで表示されるユーザも apache となり、負荷をか... [詳しくはこちら]

PHP / プログラミング / 豆知識

English version

前のエントリー: « 現実離れしたドラマ「メイちゃんの執事」は必見
次のエントリー: CNETの総合フィードって前からブログも入ってたっけ? »

コピペにご利用ください。

タイトル:

URL:

リンク用HTMLタグ: