Wenn man sich die Liste der gespeicherten Prozeduren ansieht, deren Ausführung lange dauert, fällt auf, dass die meisten Wartezeiten auftreten. Der größte Teil dieser Wartezeit (81%) ist ASYNC_NETWORK_IO, und ich weiß, warum: Die gespeicherte Prozedur überträgt ungefähr 400 MB an Informationen.
In der Dokumentation wird angegeben, dass die Ursache für ASYNC_NETWORK_IO darin besteht, dass der Client mit der Datenflut nicht Schritt halten kann. Dies ist wahrscheinlich der Fall. Ich bin mir nicht sicher, wie der Client mithalten soll, da er die gespeicherte Prozedur nur über ADO.NET aufruft und dann nur den Datensatz verarbeitet.
Sollte ich mir angesichts dieser Informationen Gedanken über den Wartetyp ASYNC_NETWORK_IO für diese Prozedur machen? Hat dies tatsächlich Auswirkungen auf die Serverleistung?
Zusätzliche Informationen:
- Ich arbeite mit Service Pack 2 von SQL Server 2005.
- Die Client-App befindet sich auf demselben Computer wie SQL Server (ich weiß, ich weiß ... aber ich kann nichts dagegen tun).