C#asp.net asmxWebサービスをii6(32ビット)からWindows 2008およびiis7(64ビット)に転送しています。以前、約160ミリ秒のWebメソッドのパフォーマンス時間を取得しました。iis7では、Webメソッドを実行するコードがほとんどなくなるまで減らした後でも、約320ミリ秒になりました。最初の呼び出しにはコンパイル時間があります。このタイミングは約20回の呼び出しの後であり、時間は安定しているようです。
Webメソッドの実行時間を320ミリ秒から200ミリ秒未満に短縮したいと思います。これは、複数の呼び出しを処理する必要がある場合の処理に役立ちます。もう1つの問題は、1秒間に20回の通話を増やすと、たまに1回の通話に約3秒かかることです。これも望ましくありません。
リリースモードでコンパイルしてみて、web.configからデバッグコンパイルを削除しました。.asmxファイルは、dllバイナリにロードするクラスを参照するだけです。
異なる点は、iis7がセットアップに役立つより詳細なエラーメッセージを表示するように構成されていることです。ただし、これはエラーが発生した場合のみであるため、通常の呼び出しがどのように遅くなるかはわかりません。
統合パイプラインモードとクラシックパイプラインモードの両方を試しましたが、それでも同じような時間が発生します。また、デフォルトのコンパイル言語をC#に設定してみました。ping時間をチェックして、ネットワークではないことを確認してみました。IISには、Webサービスメソッドにコードが含まれていたときからデータベース接続がいくつか設定されていますが、基本的には何も実行されないため、問題になるとは思われません。