FastCGI設定にあるインスタンスのMaxRequestsについて
-
2011年7月11日 8:05
FastCGI設定にあるインスタンスのMaxRequestsを1に設定するとなにか問題があるのでしょうか?
規定値が200となっているので、最大要求数を減らすとどのような影響があるのかを知りたくて、この質問をしました。
逆にこの設定値を1にしなければ、phpシステムが正常に動作しないのです。
- 移動 星 睦美Microsoft Contingent Staff, Moderator 2011年7月11日 9:03 質問内容から適切なカテゴリと判断 (移動元:Internet Information Services 7.x – 全般)
すべての返信
-
2011年7月11日 11:38
FastCGI設定にあるインスタンスのMaxRequestsを1に設定するとなにか問題があるのでしょうか?
規定値が200となっているので、最大要求数を減らすとどのような影響があるのかを知りたくて、この質問をしました。
逆にこの設定値を1にしなければ、phpシステムが正常に動作しないのです。
PHP on Windowsに移動されたみたいなので、もう少し情報を書き足します。PHP から .NET クラスを使用する際に上記のMaxRequestsを1に設定しなければ、1回目は成功するが、2回目は失敗してしまいます。
従って、MaxRequestsを1で運用したいが、そのことにより他に何か影響があるかを知りたいのです。
サンプルコードを付加しておきます。
<?php
$stack = new DOTNET("mscorlib","System.Collections.Stack");
$stack->Push(".Net");
$stack->Push("Hello ");
echo $stack->Pop() . $stack->Pop();
?> -
2011年7月27日 18:11モデレータ
この設定で問題が起こることで報告されていることは PHP on Windows ガイドライン 5章に書いた PHP ランタイムのリサイクルの話だけです。
http://technet.microsoft.com/ja-jp/iis/gg535422.aspx#ch5
10,000に設定することが多くの文献で現在推奨ですが、1じゃないとダメなんですか?
リサイクルするまでの回数なのでプロセスを切り替えないとうまくいっていないという状況になっている気がします。
マイクロソフト株式会社 IT Pro エバンジェリスト 奥主 洋 -
2011年7月28日 6:44
奥主 様
御回答ありがとうございます。
私の質問の仕方が悪かったみたいですね。
> 10,000に設定することが多くの文献で現在推奨ですが、1じゃないとダメなんですか?
私としては上記の設定でも構わないのですが、そうすれば下記の問題を回避できないのです。
<問題>
PHPから.netクラスを呼び出すと1回目(要求<->応答)は、問題なく成功しますが、
引き続いて実行する2回目(要求<->応答)時に例外エラーが発生します。
サンプルコードを付加しておきます。
<?php
$stack = new DOTNET("mscorlib","System.Collections.Stack");
$stack->Push(".Net");
$stack->Push("Hello ");
echo $stack->Pop() . $stack->Pop();
?>上記の問題を回避するために1に設定しているのです。
> リサイクルするまでの回数なのでプロセスを切り替えないとうまくいっていないという状況になっている気がします。
私も上記のように感じています。
そうすると、現時点では、PHPから.netを呼び出すには1要求毎にリサイクルするしかないのか不明なので
この質問を投げたのが真の理由です。
他に方法があれば教えて頂ければありがたいです。

