How can I throttle IO?

Posted on 2009-02-11
Medium Priority
Last Modified: 2012-05-06
Over the past year we have replaced the majority of our DAS with a SAN.  For the most part this has been very successful however I do have a couple of database applications that saturate SAN IO.  One of the applications is Microsoft SQL Server 2000 based, the other is IBM UniData based.  

I am looking for a way to throttle IO such that other applications don't suffer due to IO saturation from these databases.

I would prefer to throttle at the operating system level (Windows 2003) but will also take suggestions for throttling at the DBMS level.
Question by:jttacj1
  • 3
  • 2
LVL 38

Accepted Solution

Jim P. earned 2000 total points
ID: 23623622
As far as SQL Server goes, there is no really good way. About the only thing I can think of is to separate the channels with a fibre-channel switch.

Author Comment

ID: 23624816
We are actually running in an iSCSI environment.

We do have four separate HBA's on the controller and I could control the HBA's each database is connected to.

However the IO bottleneck does not appear to be on the frontend but the actual write to disk.

I did speak with our vendor and they suggested moving the offending data volumes to RAID 10 on a higher performance tier or adding more disks to the array.  I will do some testing to see how well this works.
LVL 38

Expert Comment

by:Jim P.
ID: 23625268
>> We are actually running in an iSCSI environment.

Is it a separate IP range/network from the LAN?

>> but the actual write to disk.

Sounds about normal. The other question is how your LUNs are configured vs your Data (mdf) and Log (ldf) files locations. If they are two different LUNs -- D: and L: but they are on the same stripe set then you have disk contention. Because it has to write the log on one are of the disks, then move the heads to write the data, then go back and checkpoint the log.
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

LVL 70

Expert Comment

by:Scott Pletcher
ID: 23627263
>> However the IO bottleneck does not appear to be on the frontend but the actual write to disk. <<

Maybe talk to the vendor about changing the % of cache dedicated to write vs read.

Author Comment

ID: 23867454
In the end there really was not good way to throttle IO.  However I am learned just how much impact moving from RAID 5 7200 SATA array to a RAID 10 10K Fiber Channel array can have.

The servers creating the bottleneck were development servers so i didn't want the expense of running them on the more expensive disk but to avoid IO bottlenecks that impact other less intense applications on the slower array it became necessary.
LVL 38

Expert Comment

by:Jim P.
ID: 23867507
>>  However I am learned just how much impact moving

That sounds about right. We recently moved from an older SAN unit, to a newer SAN unit and have seen a performance difference.

Featured Post

Transaction-level recovery for Oracle database

Veeam Explore for Oracle delivers low RTOs and RPOs with agentless transaction log backup and transaction-level recovery of Oracle databases. You can restore the database to a precise point in time, even to a specific transaction.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Windows Server 2003 introduced persistent Volume Shadow Copies and made 2003 a must-do upgrade.  Since then, it's been a must-implement feature for all servers doing any kind of file sharing.
This shares a stored procedure to retrieve permissions for a given user on the current database or across all databases on a server.
Using examples as well as descriptions, and references to Books Online, show the documentation available for date manipulation functions and by using a select few of these functions, show how date based data can be manipulated with these functions.
Via a live example, show how to backup a database, simulate a failure backup the tail of the database transaction log and perform the restore.
Suggested Courses

840 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question