« PowerGres2.xのアンインストールに失敗 | トップページ | Python本のご紹介 »

ASP.NETのチューニング

ASP.NETアプリケーションを作成し負荷テストツールを使ってみたところ、100ユーザーでStateServerにてデッドロックのエラーが出てしまったまずは、デッドロックの調査を行う必要があるがどうやら、デッドロックはリサイクルの際に発生している模様なので、まずリサイクリングを起こさないように設定をいじってみることに。

IIS6のアプリケーションプールのプロパティにて、「リサイクル」タブにて、ワーカープロセスをリサイクルのチェック(分ごと)をはずしその代わり、最大仮想メモリの設定にチェックを入れた。

それでもやはり、エラーは起きてしまった。

タスクマネージャや、プロファイラで見てもCPU、メモリともにスカスカなのでスレッドが詰まっているのではないかと考え.NETのMachine.configを編集することに。

下記サイトに乗っている情報を元に、

http://www.microsoft.com/japan/msdn/enterprise/pag/scalenetchapt17.asp#scalenetchapt17_topic3

構成設定規定値 (.NET 1.1)推奨値
maxconnection 2 12 * CPU数
maxIoThreads 20 100
maxWorkerThreads 20 100
minFreeThreads 8 88 * CPU数
minLocalRequestFreeThreads 4 76 * #CPUs

にそれぞれ設定をした。

CPUの使用率も上がりエラーも起きなくなったが、150ユーザーでの使用を試したところ

やはり同じような結果になった。アプリの部分でのボトルネックも調査せねば。(普通先にアプリを調査するんだと思うけどね。CPUつかってなかったのでまずマシン一杯一杯状態になるまでやってみたかったんだよねぇ。。。)

環境は、

Windows Server2003

IIS6

.NET Framework1.1 SP1

SQLServer 2000

続く・・・かも

|

« PowerGres2.xのアンインストールに失敗 | トップページ | Python本のご紹介 »

「.NETの話」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/120118/2748082

この記事へのトラックバック一覧です: ASP.NETのチューニング:

« PowerGres2.xのアンインストールに失敗 | トップページ | Python本のご紹介 »