イントラネット環境で300のクライアントが同時に使用するRIAアプリケーションがあります。一緒に、IIS(asp.net)に対して毎秒30回の呼び出しを行います(実際には60回ですが、呼び出しは2つのIISサーバー間で負荷分散されます)。呼び出しの半分はアセットを取得しており(キャッシュプロファイルが使用されるため、ほとんどの場合キャッシュがヒットします)、残りの半分はデータをSQLサーバーに保存しています。
アセットの取得はaspxページで行われます。データの保存は、WebORB、asp.net、およびSqlServerを介して行われます。そのため、WebORBではいくつかの処理が必要です(amfデコード、GZIPなど)。Spring.NETも使用しており、一部のコンテナオブジェクトにはリクエストスコープがあります(それほど多くはありません)。
IISサーバー->仮想マシン、4 CPU、2GBRAM。これらは、Windows 2008 x64 SP2EnterpriseEditionに基づいています。
SQLServer2008が使用されます。
どうやら両方のIISサーバーのCPUは常に約60-70%です。
さて、私の質問ですが、60〜70%の負荷は許容範囲内であり、どうすればそれをより少ない%に下げることができますか(おそらく1つのIISサーバーのみを使用)?
アセットは最大20mbですが、平均して約30kbです。(60〜70%の負荷は、約30kbのアセットで達成されます)。
weborbで保存されるデータは非常に小さく(2kb)、1つのオブジェクトにすぎません。