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)ここからどこへ行くの?次のステップは何ですか?
私はこのようなものがどのように機能するかを学ぼうとしていますが、これは私が掘り下げ続けなければならないことだと理解しています。
正しい方向へのプッシュは素晴らしいでしょう。
問題のあるクライアントを再起動します。シンプル。
ASYNC_NETWORK_IOを使用すると、クライアントがデータを十分な速度で消費できないため、サーバーの速度が低下します。ネットワークバッファーがいっぱいになります。
参考:CXPACKETは並列処理が期待されます。現在の状態は不明ですが、ハイパースレッディングが原因でIIRCが超過している可能性があります。
クライアントを再起動しましたか...? :-)