January 9, 2013 at 3:07 am
Hi,
I noticed unusually heavy waits on PAGEIOLATCH_SH during an UPDATE activity and it was taking few hours.
Below error is noticed in SQL Server error log.
SQL Server has encountered 42443 occurrence(s) of I/O requests taking longer than 15 seconds to complete on file [H:\data\***.mdf] in database [****(5). The OS file handle is 0x00000000000007D4. The offset of the latest long I/O is: 0x000009cd260000
Surprisingly after restarting the web application, UPDATEs went fine without any issue. It was a Java based web application hosted in web logic and uses connection pooling to connect to SQL Server database.
Did anyone found similar issues any time? It is tricky that application restart has cleared the waits on PAGEIOLATCH_SH.
Thanks.
January 10, 2013 at 11:37 pm
One more observation is that below error is logged only after restarting the web logic application. Before restarting the application service, UPDATE was stuck on I/O, getting processed very slowly but no error is logged in SQL Server error log.
SQL Server has encountered 42443 occurrence(s) of I/O requests taking longer than 15 seconds to complete on file [H:\data\***.mdf] in database [****(5). The OS file handle is 0x00000000000007D4. The offset of the latest long I/O is: 0x000009cd260000
After restarting the application, same query ran fine without any I/O latency issue.
Did anyone observe similar problem any time?
Thanks.
January 11, 2013 at 12:47 am
PAGEIOLATCH_SH means slowness in IO operations. this is the one cent which will come to anyone's mind who will look into your posts.its might be happening because BIg tables invole in this UPDATE and NOT using the indexes efficienty .
Can you post the query long with the exec plan ?
-------Bhuvnesh----------
I work only to learn Sql Server...though my company pays me for getting their stuff done;-)
January 11, 2013 at 12:48 am
see this link too http://blog.sqlauthority.com/2011/02/09/sql-server-pageiolatch_dt-pageiolatch_ex-pageiolatch_kp-pageiolatch_sh-pageiolatch_up-wait-type-day-9-of-28/
-------Bhuvnesh----------
I work only to learn Sql Server...though my company pays me for getting their stuff done;-)
January 11, 2013 at 2:13 am
One thing that I don't understand is error got logged only after restarting the web application and then when same UPDATE query was run, it ran fine without waiting on I/O.
Could outdated statistics be the reason behind I/O latency?
Thanks.
January 11, 2013 at 3:23 am
praveen_vejandla (1/11/2013)
Could outdated statistics be the reason behind I/O latency?
it might be . there could be another reason too like memory , IO , table/index scan happening. Please post the exec plan so that we can dig out further
-------Bhuvnesh----------
I work only to learn Sql Server...though my company pays me for getting their stuff done;-)
January 11, 2013 at 5:03 am
42443 occurrence(s) of I/O requests taking longer than 15 seconds to complete
:w00t:
praveen_vejandla (1/11/2013)
Could outdated statistics be the reason behind I/O latency?
Thanks.
It looks like your disk subsystem is having frequent problems keeping up with the workload being thrown at it. Outdated statistics are not necessarily a cause of that but they can contribute to the problem. If some statistics are out of date and the query optimizer is using sub-optimal execution plans because of them then the database engine may be working harder than it should have to in order to retrieve results to satisfy a query. When is the last time you ran index and stats maintenance routines on your databases? Adding index and stats maintenance to an already overloaded system needs to be done carefully.
I would also recommend you check the disk subsystem for overall health including running CHECKDB on your databases (PS which also need to be done at a time chosen carefully on an already overloaded system).
There are no special teachers of virtue, because virtue is taught by the whole community.
--Plato
Viewing 7 posts - 1 through 6 (of 6 total)
You must be logged in to reply to this topic. Login to reply