2

C# には、ICSharpCode SharpZipLib BZip2 解凍メソッドを使用して、データベースから取得した XML を解凍する関数があります。2 つの Web サーバー (Win 2K および Win 2003 Svr) で、このコードの実行に非常に長い時間がかかり、これらのサーバーで CPU 使用率が最大になるという問題に気付きました。コードを分離し、テスト用に Winforms アプリに入れました。同じマシンの winforms アプリでこの同じコードを実行すると、コードははるかに高速に実行されます。これは、同じ SharpZipLib アセンブリを使用しています。

これまでのところ、asp.net プロセスの下でコードの実行が非常に遅くなる理由について、途方に暮れています。

提案、アイデアはありますか?

前もって感謝します!

4

3 に答える 3

1

RedGate ANTS Performance Profilerのようなプロファイラーでコードを見て、コードがどのようなことを行っているかを確認してみましたか?

ASP.NET アプリケーション内でホストされるコードは、WinForm アプリケーションとはまったく異なる条件下で実行されます。IIS ワーカー プロセスを介してロードするときに、ThreadPool の問題が発生する可能性があります。

また、ASP.NET アプリケーションでコードがプリコンパイルされていないという問題が発生している可能性もあります。

そうは言っても、プロファイラーを介してアプリケーションを実行すると、物事がどのように機能しているかを最もよく把握できます。

于 2010-09-15T15:05:14.067 に答える
1

プロファイラーを使用します。デクロンペション コードの外部に問題がある可能性があります。あなた、私、および SO の残りの人々は、1 回のプロファイラー セッションで得られる以上の情報を提供することはありません。

于 2010-09-15T15:02:35.973 に答える
-1

Web プロジェクトを作成していることを確認し、リリース ビルド用にコンパイルします。(ビルド -> 構成マネージャー)

于 2010-09-15T15:05:37.557 に答える