April 4, 2013 at 8:48 pm
We have a SQL server with 25 GB RAM, it is used for data warehouse. When the user restores one of their big databases, it slows down the network, and sometimes caused Exchange server down. The data and log, and backup drive are all on the same SAN.What could be the problem? I guess it may be related with disk I/O, how should I start to troubleshooting?
Thanks,
April 5, 2013 at 4:57 am
Yeah, it does sound like contention. Since it's a restore, the most likely place is IO, but it's also going to affect CPU, memory, etc. I would look at sys.dm_exec_requests to see what resources are being used by the restore process and if it's causing blocking of other processes. If it's causing blocking, this view will also show what resources are causing the block. From that determination, you can figure out what else you need to do. There are a couple of tricks you can try to speed up restore operations. I've documented them in an article on Simple-Talk.[/url]
"The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
- Theodore Roosevelt
Author of:
SQL Server Execution Plans
SQL Server Query Performance Tuning
April 5, 2013 at 9:46 am
Thanks much!
April 5, 2013 at 12:15 pm
I did a query like this:
--see the top ten events your server is waiting on
SELECT TOP 10
wait_type ,
max_wait_time_ms wait_time_ms ,
signal_wait_time_ms ,
wait_time_ms - signal_wait_time_ms AS resource_wait_time_ms ,
100.0 * wait_time_ms / SUM(wait_time_ms) OVER ( ) AS percent_total_waits ,
100.0 * signal_wait_time_ms / SUM(signal_wait_time_ms) OVER ( ) AS percent_total_signal_waits ,
100.0 * ( wait_time_ms - signal_wait_time_ms )
/ SUM(wait_time_ms) OVER ( ) AS percent_total_resource_waits
FROM sys.dm_os_wait_stats
WHERE wait_time_ms > 0 -- remove zero wait_time
AND wait_type NOT IN -- filter out additional irrelevant waits
( 'SLEEP_TASK', 'BROKER_TASK_STOP', 'BROKER_TO_FLUSH', 'SQLTRACE_BUFFER_FLUSH',
...)ORDER BY wait_time_ms DESC
and found the top one now on the server is FSAgent, which is the file stream agent.
It uses 65% total waits.
Is this supposed to be right, we have one database enabled using file stream.
Could this be the culprit that causes the slow performance when restoring databases?
Thanks,
We are currently using SQL 2008 SP3.
April 5, 2013 at 12:48 pm
Any help please?
April 5, 2013 at 1:10 pm
Looking at os_wait_stats is looking at waits aggregated. There's no way to know if those waits correspond to problems during your restore. That's why I suggested looking at sys.dm_exec_requests. That shows waits as they are occurring on active processes. That's how you can tell what is running slow when, not just what is running slow overall.
"The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
- Theodore Roosevelt
Author of:
SQL Server Execution Plans
SQL Server Query Performance Tuning
April 5, 2013 at 5:29 pm
Grant Fritchey (4/5/2013)
Looking at os_wait_stats is looking at waits aggregated. There's no way to know if those waits correspond to problems during your restore. That's why I suggested looking at sys.dm_exec_requests. That shows waits as they are occurring on active processes. That's how you can tell what is running slow when, not just what is running slow overall.
When you say it is aggregated, does it mean aggregated since last service restart?
FOr sys.dm_exec_requests, how can I understand better the result of it?
How that is related with the restore causing the network slow down?
Thanks
Viewing 7 posts - 1 through 6 (of 6 total)
You must be logged in to reply to this topic. Login to reply