[PHP-users 35653] Re: ApacheのMPM、worker使用かprefork使用かの疑問です〓

ec4 php ec4php @ gmail.com
2012年 1月 18日 (水) 01:17:42 JST


exceptionCatcherと申します。
私の誤解かもしれませんが
「モジュール版PHPはApacheのスレッドまたはプロセスの内部で関数として実行される」
「CGI版PHPはApacheのスレッドまたはプロセスの子プロセスとして実行される」
と認識しています。

Java風に言うと
「モジュール版PHPはTomCatが関数として実行するPHP」
「CGI版PHPはTomCatが子プロセスとして実行するPHP」
ということです。

CGI版PHPはマルチスレッド関連の問題が起きないかも知れません。
ただ、マルチスレッドのメリットである「パフォーマンスは向上するのか?」という疑問が残ります。
何かの御参考までに。

それと私事で恐縮ですが、過去にPHPとJavaの比較を
「マルチプロセスのPHP」「マルチスレッドのJava」
という前提でブログに書いたことがあります。
よろしければご覧ください。

http://exceptioncatcher.seesaa.net/article/230406599.html

以上


2012年1月17日17:04  <valilian @ mail.goo.ne.jp>:
> 自分は今までApacheはデフォルトのpreforkしか使っていなかったのですが、workerに替えようと思い調べてみたところ、
>
> http://blog.flatlabs.net/20110222_232623/
>> http://labs.unoh.net/2008/03/apache_mpm.html
>> http://jobo-snippets.blogspot.com/2011/09/workerapachephp-mysql.html
>
> にて
> 「php-mbstring」や「php-mysql」などのPHP拡張機能が使えないとか、
> PHPを動かすサーバでは、preforkの選択が無難とか書かれてあります。
>
>
>
> 1. 自分はPDOを使用し、(./configure時に)mysqliを有効にして(--enable-mysqlは指定しておりません。というか確か今は無かったような気もします)使っているのですが、この場合もやはりPHPとMySQLの連携に問題があるのでしょうか?
> mbstringが使えないのは日本では厳しいな、とは考えております。
>
>
> 2. 2011年でもまだこの問題はあるようなので今もダメなのかなと思いますが、皆さんはPHPの場合どちらを使用しているのでしょうか?
>
> 自分は並列的な感じからworkerの方が早いのだろうと期待して替えようと思っていたのですが。
> "PHP worker"のように検索しても、あまりこの問題について出てこないように思います。
> workerでも大丈夫なのか、それとも皆さんあまり気にせずpreforkのまま使ってるのかなと思ったりもしました。
>
>
> OS : centOS6.2
> PHP : 5.3.8(ソースコードからインストール)
>
>
> 以上の点で宜しくお願いします。
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://oldwww.php.gr.jp/php/novice.php3


PHP-users メーリングリストの案内