2012-01-11 18 views
0

私は非常に奇妙な状況に直面していますし、それを解決する方法がわからない...私はこの問題を解決する助けてください...C#のパフォーマンスの問題

私は研究のページがあるウェブサイトに取り組んでいますWebサイトで実行されるタスクのパフォーマンスを測定するために作成されます。これは、さまざまな条件をデータベース表にチェックし、情報を取得して管理者に電子メールを送信するレポート・ページの1つのタイプです。ページは1日に24回の1時間ごとに実行されます。

問題点:リサーチページが実行されても、ウェブサイトの他のページが正しく動作しない場合、ウェブサイトは正常に動作します。例えば、私はPage1上にいると同時に、リサーチページが起動しているといえます。現在、リサーチページが実行されているこの時点で、Page2のリンクをクリックすると、リサーチページが終了するまでPage2が表示されません。誰もがこの動作のために問題になる可能性があると言うことができますか?ここで

は、問題に関するいくつかの詳細は以下のとおりです。

  • ウェブサイトは、Visual Studio 2008(C#の)とSOL Server 2008である が
  • を使用したSOLのクエリは、しかし、研究のページのためには複雑すぎます可能なすべての最適化を にしました。
  • Webサイトで使用されている2つの接続文字列(同じ データベースの異なるユーザー)があります。リサーチページとサイト

内の他のすべてのページのための第二 ための一つの問題を見つける助けてください...事前に感謝します....

+1

あなたが実際に推測を開始するためにコードを投稿する必要があります。クエリはどの分離レベルで実行されていますか?あなたはテーブルをロックしていますか? OLTPとレポート作成に同じデータベースを使用する理由 – Oded

+0

隔離レベルについてはわかりません....ロックテーブルについては、私はロックを使用していません......これは、レポートページのように使用されるただ1ページですが、レポートページではありません.... .. –

答えて

0

これは、取り扱いを誤るとが原因である可能性がありスレッド内のあなたのウェブサイト。

http://msdn.microsoft.com/en-us/library/ms741870.aspx

msdn.microsoft.com/en-us/library/ms741870.aspx

http://www.albahari.com/threading/part3.aspx

:あなたは、これはであなたを助けるかもしれないだけをチェックアウトするサーバー側のWebコードでのスレッドとビル非同期ハンドラによって

を、それを試してみました

また、テーブルをロックする必要のあるリソースを解放することにも注意してください。彼はスレッド関数が終了します。