Home > Storage > Unity XT > Virtualization, Cloud & Applications > Dell Unity XT: Microsoft SQL Server Best Practices > Host I/O limits (QoS)
Typically, a Dell Unity XT array is used to service multiple hosts and applications. These applications can have different service level requirements and different storage demands. In addition, a single array can provide services to multiple environments concurrently such as development, testing, and production. Traditionally, these scenarios have been difficult to manage to ensure that critical applications get the resources they need while managing less critical resources to make sure they do not overconsume.
Host I/O limits or Quality of Service (QoS)) provide an excellent means to manage these types of workloads. Instead of trying to manage these workloads with multiple storage pools, host I/O limits allow LUNs to be restricted to a specified amount of IOPS or bandwidth so they do not adversely impact other applications. Also, this allows storage administrators to ensure applications and environments adhere to budgeted limits which greatly simplify planning and management.
Host I/O Limits are great for SQL Server environments for several reasons. First, storage administrators can ensure that demanding SQL Server instances do not overwhelm the entire array by setting limits on database volumes. Also, if SQL Server is the priority application they can set limits on other LUNs on the system to ensure that SQL Server can get the resources it requires. Another great component of host I/O Limits is the ability to burst for a given limit for a specific period, both are which are user-configurable. In this way, small exceptions can still be allowed while maintaining balanced performance.
In development and testing environments, it can be difficult to determine if an application meets performance requirements. Typically, test and development databases are smaller than production databases. It is not always feasible to keep a copy of production data in these environments due to the storage costs or privacy concerns surrounding confidential data. The issue with smaller datasets is that the application can run faster on a smaller database during development or testing phases, and then encounter serious performance issues when deployed on a real dataset in production.
Host I/O Limits can be used to restrict the I/O on smaller datasets to highlight I/O intensive queries. Setting limits on databases in development and testing environments will help identify problem areas so they can be resolved before production deployment. The result is improved SQL Server service levels and greater scalability.