disk i/o

  • 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,

  • 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

  • Thanks much!

  • 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.

  • Any help please?

  • 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

  • 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