- - PR -
ASP.NET WEBサーバービジー状態時の対応について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-07-04 16:57
いつもお世話になっております。
今ASP.NET(VB)にてWEBアプリを開発しております。 今は、複数クライアントからWEBサーバーに対する要求数が多く、後から要求を出したクライアントには "アクセスが集中しているので(ビジー状態だから)時間おいてから再度リトライしてね" という感じの警告を出せるのかと思い、調査しながら実際に実験している所です。 【開発環境】 ・Windows2003Server ・IIS6.0 ・ASP.NET 1.1(VB) ・ブラウザ:IE6.0 【質問1】 Machine.Configにて、[ProcessModel-RequestQueueLimit]を仮に1と設定しました。 また簡単なWEBアプリを作成し、そのWeb.Configにて以下のような設定をしました。 <customErrors defaultRedirect="ErrorAll.htm" mode="On"> <error statusCode="503" redirect="err503.html" /> </customErrors> この状態にて、WEBアプリを2つ起動した所 ・一方は、正常表示 ・もう片方は"サーバーがビジー状態です"というErrorAll.htmでもerr503.htmlでも定義していないエラーメッセージが表示されてしまいました。 そこで、いろいろ調べた結果ASP.NET1.1ではビジー状態で503を返さないことが判明しました。 http://support.microsoft.com/default.aspx?scid=kb;ja;822148 出来ればカスタマイズをしたエラーページをビジー状態で返せないものかと思っておりますが、何か良い手立てはないものでしょうか? 【質問2】 今度はWEB.CONFIGで[httpRuntime-appRequestQueueLimit]を対象としました。 appRequestQueueLimitに関しては、以下を参照しました。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=2160&forum=7 ここで、上記で作成したWEBアプリのWeb.Configにて以下のような設定をしました。 <httpRuntime executionTimeout="90" maxRequestLength="4096" useFullyQualifiedRedirectUrl="false" minFreeThreads="0" minLocalRequestFreeThreads="0" appRequestQueueLimit="1" enableVersionHeader="true"/> ※Machine.Configの<httpRuntime>はデフォルト値をそのまま設定してあります。 appRequestQueueLimit=100 minFreeThreads=8 そして、今度はこのWEBアプリを10同時に起動してみましたが、ビジー状態のエラーが返される所か、起動した10個のアプリすべてが正常処理されてしまいました。 なぜ、ビジー状態とならないのでしょうか? 以上です。 説明で分かりにくい所があるとは思いますが、ご存知の方がいらっしゃったらご教授して頂きたく思います。 宜しくお願い致します。 [ メッセージ編集済み 編集者: かえで 編集日時 2005-07-04 18:24 ] |
1