ASP.Net Webサイトでは、一部のリクエストがタイムアウトしました。 AppDynamicsは、SQLプロシージャコールが数秒で戻ってくることを示していますが、SNIReadSyncOverAsyncで100秒以上を費やしています。SNIReadSyncOverAsyncとは何ですか?また、完了に時間がかかる理由を教えてください。
誰もがこの方法が何であるかを知っていますか、なぜそれが多くの時間を費やしているのでしょうか?私たちはEFを使用していません。これは、私が見つけたすべての質問/投稿で参照されています。事前に
おかげ
更新
それはしばらくしていると私たちはすべての時間がSNIReadSyncOverAsyncに費やされていた理由として、解像度に来たことはありませんが、私はいくつかの考えを持っています。
このケースでは、AppDynamicsの特定のバージョンがSQL呼び出しに費やされた時間を報告していたと思われますが、私はこれをバックアップするための実際のデータはありません。 。最終的に、SNIReadSyncOverAsyncで費やされた時間が記録され、クエリ自体が時間切れになったことがわかりました。
これは、同じクエリが同じデータベースのSSMSで即座に実行されるため、まだそれほど多くはありませんでした。
最終的な回答はARITHABORTに関連していました。私たちのアプリケーションとSSMSは2つの異なる実行計画(https://dba.stackexchange.com/a/9841参照)を使用して、SSMSでタイムアウトを再現できなかった理由を説明しています。
これを解決したら、チューニングが必要な手順の一部を特定できました。原因不明のタイムアウトまたはSNIReadSyncOverAsyncが実行されませんでした。
MSからのアップデートはありますか? – too
残念ながら、私たちは問題を解決できませんでした。もっと奇妙なのは、AppDynamicsの新しいバージョンでは、SNIReadSyncOverAsyncメソッドでもDbDataAdapter.Fillで問題が表示されないということです。 –