web-dev-qa-db-ja.com

ASYNC_NETWORK_IOのヘルプが必要

20のWebサイトを提供するSQLServer 2005サーバーがあり、そのうちの1つはカスタムCMSであり、他のいくつかのマイクロサイトもあります。私はこれに不慣れで、ここでデータベースを見始めました。

問題は、数日後にSQL Serverの速度が低下し、サービスが再起動するという問題が発生していることです。 SQLプロファイラーでいくつかの統計を実行しましたが、確認したところ、目立つものは何も見つかりませんでした。これが私が今ここにいる理由です。オンラインで見回して、ASYNC_NETWORK_IOに出くわしました。だから、私は今このトラックをたどろうとしています。

これは私がしたことです:

待機統計テーブルをクリアしました。

DBCC SQLPERF ('sys.dm_os_wait_stats', 'CLEAR')

過去15分間の結果:

ASYNC_NETWORK_IO    46798     34953     812     1953
CMEMTHREAD          28300     42328     1187    6437
CXPACKET            361571    7048515   38984   48859

私が読んだことから、ASYNC_NETWORK_IOは、クライアントアプリケーションを待機しているSQLと関係があります。

2つの質問:

1)これらの数値は15分間の監視で高いように見えるという私の仮定は正しいですか?

2)ここからどこへ行くの?次のステップは何ですか?

私はこのようなものがどのように機能するかを学ぼうとしていますが、これは私が掘り下げ続けなければならないことだと理解しています。

正しい方向へのプッシュは素晴らしいでしょう。

5
Tony

問題のあるクライアントを再起動します。シンプル。

ASYNC_NETWORK_IOを使用すると、クライアントがデータを十分な速度で消費できないため、サーバーの速度が低下します。ネットワークバッファーがいっぱいになります。

参考:CXPACKETは並列処理が期待されます。現在の状態は不明ですが、ハイパースレッディングが原因でIIRCが超過している可能性があります。

クライアントを再起動しましたか...? :-)

4
gbn