I am a developer who has been asked to look at a database slowness issue.
I have had a look at the waits on the server and retrieved the following using a query from Red Gate's wait stats white paper.
The results are:
Wait type wait_S Resource_S Signal_S WaitCount Percentage
PAGEIOLATCH_SH 393375.51 391289.91 2085.59 76733247 32.60
CXPACKET 367110.76 334340.19 32770.57 34663540 30.42
OLEDB 84136.77 84136.77 0.00 78106 6.97
SOS_SCHEDULER_YIELD 77896.38 15.97 77880.41 254840824 6.46
PAGEIOLATCH_EX 65944.98 65550.98 394.00 16298376 5.46
ASYNC_NETWORK_IO 45579.23 32512.01 13067.22 125659899 3.78
WRITELOG 37415.61 35457.02 1958.59 18559390 3.10
LCK_M_IX 36602.81 36587.52 15.29 67118 3.03
LCK_M_X 35503.99 35494.55 9.44 32114 2.94
LCK_M_U 30464.81 30452.64 12.17 28824 2.52
Does anyone have any advice on what to do next?
Does CXPacket suggest a maxdop change? The server is a virtual server showing 4 CPU's in windows task manager.
Best Answer
While by no means a dead cert,
PAGEIOLATCH_SH
andCXPACKET
in equal weight can be indicative of parallel table scans. Without a baseline to compare with I'd suggest looking at the top CPU and IO consumers and looking for those which appear in both.