- Community Home
- >
- Storage
- >
- HPE Nimble Storage
- >
- Application Integration
- >
- Re: Performance Policy for SQL 2008 R2 on VMFS5
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Discussions
Discussions
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-22-2013 09:34 AM
04-22-2013 09:34 AM
I have a question about which performance policy (specifically to do with block size) that should be used for SQL 2008 R2 Data/log volumes when these volumes are vmdk's within a VMFS5 volume on a Nimble storage array.
- Virtualized SQL 2008 r2 server (Server 2008 R2 x64)
- OS Drive on NTFS/VMDK (default 4KB allocation unit size <> VMFS5 (1MB blocksize) <> VM Nimble Volume (VMware ESX5 (4KB block) Performance Policy)
- SQL data on NTFS/VMDK (64KB allocation unit size) <> VMFS5 (1MB block size) <> SQL-Data Nimble Volume (?)
- SQL logs on NTFS/VMDK (64KB allocation unit size) <> VMFS5 (1MB block size0 <> SQL-Logs Nimble Volume (?)
Should the performance policy for the data and logs be set to SQL Server / SQL Server logs (8KB/4KB block size respectively), or to the VMware ESX5 performance policy since they are on top of a VMFS volume? Is using the 64KB allocation unit size when formatting the ntfs volume still recommended when using a virtual environment in this way? Thanks!
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-22-2013 04:01 PM
04-22-2013 04:01 PM
Re: Performance Policy for SQL 2008 R2 on VMFS5
Hi Jordan, great question. Though VMFS allocates blocks in 1MB chunks - it does not break guest OS blocks down to 4KB chunks, the allocation unit size dictates how big the IO size is. Either performance policy would do just fine - the SQL Data one would be slightly better than ESX one as the amount of metadata we need to maintain is less, due to large volume block size. What you don't want to do is setting the NTFS allocation unit size of 4KB, and use larger block size on the Nimble side.
In your specific case, it's good to use SQL-Data perf policy & SQL-logs policy, given you have set the NTFS allocation unit size of 64KB.
-wen
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-23-2013 09:22 AM
04-23-2013 09:22 AM
Re: Performance Policy for SQL 2008 R2 on VMFS5
Thanks Wen,
So in general the performance policy block size should be the same or smaller than the NTFS allocation unit size? In that case since I'm using 64KB allocation unit sizes on the NTFS volumes, would there be any benefit to creating a performance policy on the Nimble array with 32KB (the largest) block sizes instead of the 8KB setting on the default SQL Server performance policy? Thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-23-2013 10:34 AM
04-23-2013 10:34 AM
SolutionHi Jordan, i should have been more clear in my previous response - the actual writes from application would actually dictate the block size of the writes. Allocation unit size is the biggest block size the app could write for a given block - for random DB I/O, it is safest to use smaller block size. As for transaction log volume, typical writes come in larger block size, so you could try an experiment with larger than 8KB volume block size and see if there's any performance difference. The safest rule of thumb is always have smallest block size possible for random I/O on the array side.
BTW, do you have infosight access? we could take a look at your array stats and see if everything is running optimally.