<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www2.sqlblog.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Merrill Aldrich : performance</title><link>http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/performance/default.aspx</link><description>Tags: performance</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>Chasing the ISV, or, “That code makes my teeth hurt.” T-SQL Tuesday (ish) #21</title><link>http://www2.sqlblog.com/blogs/merrill_aldrich/archive/2011/08/10/ouch-chasing-the-isv-or-that-code-makes-my-teeth-hurt-t-sql-tuesday-ish-21.aspx</link><pubDate>Wed, 10 Aug 2011 14:00:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:37656</guid><dc:creator>merrillaldrich</dc:creator><slash:comments>0</slash:comments><comments>http://www2.sqlblog.com/blogs/merrill_aldrich/comments/37656.aspx</comments><wfw:commentRss>http://www2.sqlblog.com/blogs/merrill_aldrich/commentrss.aspx?PostID=37656</wfw:commentRss><description>This month’s T-SQL Tuesday – a blog party dreamed up by sqlblog.com’s Adam Machanic ( blog | @ AdamMachanic ) – is about that code we’ve all written that we don’t really like to think about too often. You know the stuff. I can’t help but imagine the next...(&lt;a href="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/2011/08/10/ouch-chasing-the-isv-or-that-code-makes-my-teeth-hurt-t-sql-tuesday-ish-21.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=37656" width="1" height="1"&gt;</description><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/Dukes+of+Hazzard/default.aspx">Dukes of Hazzard</category><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/Fun/default.aspx">Fun</category><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/performance/default.aspx">performance</category><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/views/default.aspx">views</category></item><item><title>SCOM, 90 days in, III. Stuff to Add</title><link>http://www2.sqlblog.com/blogs/merrill_aldrich/archive/2011/03/02/scom-90-days-in-iii-stuff-to-add.aspx</link><pubDate>Thu, 03 Mar 2011 06:57:44 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:33880</guid><dc:creator>merrillaldrich</dc:creator><slash:comments>2</slash:comments><comments>http://www2.sqlblog.com/blogs/merrill_aldrich/comments/33880.aspx</comments><wfw:commentRss>http://www2.sqlblog.com/blogs/merrill_aldrich/commentrss.aspx?PostID=33880</wfw:commentRss><description>This is the third installment of a series on our deployment of System Center at my workplace, emphasis on SQL Server MP. At this point we’ve got Operations Manager installed, and up and running, and we’ve been able to categorize all the monitored servers...(&lt;a href="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/2011/03/02/scom-90-days-in-iii-stuff-to-add.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=33880" width="1" height="1"&gt;</description><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/diagnostics/default.aspx">diagnostics</category><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/monitoring/default.aspx">monitoring</category><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/performance/default.aspx">performance</category><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/SCOM/default.aspx">SCOM</category></item><item><title>SQLSat65, Great Perf Counters Poster from Quest</title><link>http://www2.sqlblog.com/blogs/merrill_aldrich/archive/2011/02/28/sqlsat65-great-perf-counters-poster-from-quest.aspx</link><pubDate>Mon, 28 Feb 2011 16:50:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:33830</guid><dc:creator>merrillaldrich</dc:creator><slash:comments>0</slash:comments><comments>http://www2.sqlblog.com/blogs/merrill_aldrich/comments/33830.aspx</comments><wfw:commentRss>http://www2.sqlblog.com/blogs/merrill_aldrich/commentrss.aspx?PostID=33830</wfw:commentRss><description>I was fortunate to be able to attend the Vancouver BC SQLSaturday this past weekend, and it was excellent! Great sessions, good facility, well attended. Nice work, and a huge thank you to the volunteers that made that happen. One side perk: I got a copy...(&lt;a href="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/2011/02/28/sqlsat65-great-perf-counters-poster-from-quest.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=33830" width="1" height="1"&gt;</description><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/diagnostics/default.aspx">diagnostics</category><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/monitoring/default.aspx">monitoring</category><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/performance/default.aspx">performance</category></item><item><title>SCOM, 90 Days In, I</title><link>http://www2.sqlblog.com/blogs/merrill_aldrich/archive/2011/02/23/scom-90-days-in-i.aspx</link><pubDate>Thu, 24 Feb 2011 04:11:51 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:33731</guid><dc:creator>merrillaldrich</dc:creator><slash:comments>1</slash:comments><comments>http://www2.sqlblog.com/blogs/merrill_aldrich/comments/33731.aspx</comments><wfw:commentRss>http://www2.sqlblog.com/blogs/merrill_aldrich/commentrss.aspx?PostID=33731</wfw:commentRss><description>At my office we’re about 90 days into our implementation of System Center Operations Manager for Windows Server and SQL Server monitoring. All in all it’s been a good experience, and I’m really excited to have access to this tool. I’ve logged a fair number...(&lt;a href="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/2011/02/23/scom-90-days-in-i.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=33731" width="1" height="1"&gt;</description><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/diagnostics/default.aspx">diagnostics</category><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/monitoring/default.aspx">monitoring</category><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/performance/default.aspx">performance</category><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/SCOM/default.aspx">SCOM</category></item><item><title>T-SQL Tuesday #004: Real World SSD’s</title><link>http://www2.sqlblog.com/blogs/merrill_aldrich/archive/2010/03/08/t-sql-tuesday-004-real-world-ssd-s.aspx</link><pubDate>Tue, 09 Mar 2010 04:22:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:22981</guid><dc:creator>merrillaldrich</dc:creator><slash:comments>4</slash:comments><comments>http://www2.sqlblog.com/blogs/merrill_aldrich/comments/22981.aspx</comments><wfw:commentRss>http://www2.sqlblog.com/blogs/merrill_aldrich/commentrss.aspx?PostID=22981</wfw:commentRss><description>A contribution for T-SQL Tuesday #004 , hosted by the illustrious Mike Walsh! In the past few weeks I had some correspondence with Kendal Van Dyke leading up to his SQL Saturday presentation on SSDs, and he got me fired up to share a little of my team’s...(&lt;a href="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/2010/03/08/t-sql-tuesday-004-real-world-ssd-s.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=22981" width="1" height="1"&gt;</description><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/performance/default.aspx">performance</category><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/san/default.aspx">san</category><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/Solid+State+Disks/default.aspx">Solid State Disks</category><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/Storage+Design/default.aspx">Storage Design</category></item><item><title>SAN 101 for the DBA</title><link>http://www2.sqlblog.com/blogs/merrill_aldrich/archive/2010/02/16/san-101.aspx</link><pubDate>Tue, 16 Feb 2010 22:45:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:22362</guid><dc:creator>merrillaldrich</dc:creator><slash:comments>1</slash:comments><comments>http://www2.sqlblog.com/blogs/merrill_aldrich/comments/22362.aspx</comments><wfw:commentRss>http://www2.sqlblog.com/blogs/merrill_aldrich/commentrss.aspx?PostID=22362</wfw:commentRss><description>As will become apparent from this post, I am no Storage Admin. My apologies for offending the sensibilities of those who know this topic better than I do! I get asked occasionally about placing SQL Server data on SAN storage, and I've done it with a few...(&lt;a href="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/2010/02/16/san-101.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=22362" width="1" height="1"&gt;</description><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/performance/default.aspx">performance</category><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/san/default.aspx">san</category><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/Storage+Design/default.aspx">Storage Design</category></item><item><title>Busting a persistent myth: views are executed "before" enclosing queries</title><link>http://www2.sqlblog.com/blogs/merrill_aldrich/archive/2010/02/11/busting-a-persistent-myth-views-are-executed-before-enclosing-queries.aspx</link><pubDate>Thu, 11 Feb 2010 17:49:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:22176</guid><dc:creator>merrillaldrich</dc:creator><slash:comments>4</slash:comments><comments>http://www2.sqlblog.com/blogs/merrill_aldrich/comments/22176.aspx</comments><wfw:commentRss>http://www2.sqlblog.com/blogs/merrill_aldrich/commentrss.aspx?PostID=22176</wfw:commentRss><description>To all who are SQL savvy, this is old news, but I wanted to put this tidbit up for you to pass along, as a concise proof, to others that might subscribe to this performance myth. On forums and Stack Overflow, it seems I constantly see this misinformation...(&lt;a href="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/2010/02/11/busting-a-persistent-myth-views-are-executed-before-enclosing-queries.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=22176" width="1" height="1"&gt;</description><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/performance/default.aspx">performance</category><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/views/default.aspx">views</category></item><item><title>Poll: Hyperthread or not on 2 x 4 core Nehalem SQL Server?</title><link>http://www2.sqlblog.com/blogs/merrill_aldrich/archive/2010/01/14/poll-hyperthread-or-not-on-2-x-4-core-nehalem-sql-server.aspx</link><pubDate>Thu, 14 Jan 2010 22:05:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:21056</guid><dc:creator>merrillaldrich</dc:creator><slash:comments>2</slash:comments><comments>http://www2.sqlblog.com/blogs/merrill_aldrich/comments/21056.aspx</comments><wfw:commentRss>http://www2.sqlblog.com/blogs/merrill_aldrich/commentrss.aspx?PostID=21056</wfw:commentRss><description>Common wisdom with previous generations of server hardware was that SQL Server might not benefit from hyperthreading or could be degraded at high CPU usage; does anyone have definitive data about Nehalem (non-EX) servers and SQL Server 2005 or 2008? Here...(&lt;a href="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/2010/01/14/poll-hyperthread-or-not-on-2-x-4-core-nehalem-sql-server.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=21056" width="1" height="1"&gt;</description><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/hyperthreading/default.aspx">hyperthreading</category><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/performance/default.aspx">performance</category></item><item><title>Choices in physical storage design – EAV Case Study</title><link>http://www2.sqlblog.com/blogs/merrill_aldrich/archive/2009/11/23/choices-in-physical-storage-design-eav-case-study.aspx</link><pubDate>Tue, 24 Nov 2009 00:30:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:19130</guid><dc:creator>merrillaldrich</dc:creator><slash:comments>0</slash:comments><comments>http://www2.sqlblog.com/blogs/merrill_aldrich/comments/19130.aspx</comments><wfw:commentRss>http://www2.sqlblog.com/blogs/merrill_aldrich/commentrss.aspx?PostID=19130</wfw:commentRss><description>Partitioning for Fun and Profit Over the past year or so I’ve been playing with a toy SQL monitoring application, just to sharpen my dev skills a bit. Part of the app is a SQL database to store historical performance data, in order to do trending. Fooling...(&lt;a href="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/2009/11/23/choices-in-physical-storage-design-eav-case-study.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=19130" width="1" height="1"&gt;</description><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/performance/default.aspx">performance</category><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/Storage+Design/default.aspx">Storage Design</category></item><item><title>Wrinkly Entropy</title><link>http://www2.sqlblog.com/blogs/merrill_aldrich/archive/2009/11/20/wrinkly-entropy.aspx</link><pubDate>Fri, 20 Nov 2009 23:44:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:19062</guid><dc:creator>merrillaldrich</dc:creator><slash:comments>2</slash:comments><comments>http://www2.sqlblog.com/blogs/merrill_aldrich/comments/19062.aspx</comments><wfw:commentRss>http://www2.sqlblog.com/blogs/merrill_aldrich/commentrss.aspx?PostID=19062</wfw:commentRss><description>So, found this incredible freeware program on Codeplex with a really simple UI to handle performance optimization for SQL Server: I was gonna post the link here but I lost it, and now the site seems to have been taken down... OK, I am obviously lying....(&lt;a href="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/2009/11/20/wrinkly-entropy.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=19062" width="1" height="1"&gt;</description><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/performance/default.aspx">performance</category><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/theory/default.aspx">theory</category></item><item><title>Trick Question -- Part Quattro</title><link>http://www2.sqlblog.com/blogs/merrill_aldrich/archive/2009/11/17/trick-question-part-quattro.aspx</link><pubDate>Wed, 18 Nov 2009 05:49:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:18922</guid><dc:creator>merrillaldrich</dc:creator><slash:comments>8</slash:comments><comments>http://www2.sqlblog.com/blogs/merrill_aldrich/comments/18922.aspx</comments><wfw:commentRss>http://www2.sqlblog.com/blogs/merrill_aldrich/commentrss.aspx?PostID=18922</wfw:commentRss><description>Spoiler: TPH is an evil trap In the last installment I pleaded for the equal treatment of the database schema and object model when implementing an application with a database, on the grounds that the failure of either means the failure of the whole system....(&lt;a href="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/2009/11/17/trick-question-part-quattro.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=18922" width="1" height="1"&gt;</description><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/ORM/default.aspx">ORM</category><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/performance/default.aspx">performance</category></item><item><title>Trick Question -- Part Trois</title><link>http://www2.sqlblog.com/blogs/merrill_aldrich/archive/2009/11/16/trick-question-part-trois.aspx</link><pubDate>Mon, 16 Nov 2009 20:41:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:18885</guid><dc:creator>merrillaldrich</dc:creator><slash:comments>2</slash:comments><comments>http://www2.sqlblog.com/blogs/merrill_aldrich/comments/18885.aspx</comments><wfw:commentRss>http://www2.sqlblog.com/blogs/merrill_aldrich/commentrss.aspx?PostID=18885</wfw:commentRss><description>This is the third part of a series ( Part 1 , Part 2 ) thinking out loud about the decision making around data access for applications. Once you've considered how tightly bound your application code can safely be to tables, I would like to put two related...(&lt;a href="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/2009/11/16/trick-question-part-trois.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=18885" width="1" height="1"&gt;</description><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/ORM/default.aspx">ORM</category><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/performance/default.aspx">performance</category><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/security/default.aspx">security</category></item><item><title>Using Historical Perf Counter Data For Storage Planning</title><link>http://www2.sqlblog.com/blogs/merrill_aldrich/archive/2009/10/29/using-historical-perf-counters-for-storage-planning.aspx</link><pubDate>Thu, 29 Oct 2009 23:42:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:18361</guid><dc:creator>merrillaldrich</dc:creator><slash:comments>1</slash:comments><comments>http://www2.sqlblog.com/blogs/merrill_aldrich/comments/18361.aspx</comments><wfw:commentRss>http://www2.sqlblog.com/blogs/merrill_aldrich/commentrss.aspx?PostID=18361</wfw:commentRss><description>Lately I'm faced with a fairly ambitious data center move, and at the same time with an initiative to consolidate sprawling SQL Servers onto centralized clusters. It's a chunk of work, but these two notions have fit together pretty well: as long as we're...(&lt;a href="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/2009/10/29/using-historical-perf-counters-for-storage-planning.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=18361" width="1" height="1"&gt;</description><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/diagnostics/default.aspx">diagnostics</category><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/monitoring/default.aspx">monitoring</category><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/performance/default.aspx">performance</category><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/san/default.aspx">san</category></item><item><title>SAN Disk Array Performance: Beware LUN Concatenation</title><link>http://www2.sqlblog.com/blogs/merrill_aldrich/archive/2009/07/26/san-disk-array-performance-beware-lun-concatenation.aspx</link><pubDate>Sun, 26 Jul 2009 23:17:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:15503</guid><dc:creator>merrillaldrich</dc:creator><slash:comments>2</slash:comments><comments>http://www2.sqlblog.com/blogs/merrill_aldrich/comments/15503.aspx</comments><wfw:commentRss>http://www2.sqlblog.com/blogs/merrill_aldrich/commentrss.aspx?PostID=15503</wfw:commentRss><description>&lt;p&gt;I'd like to pass along a couple of tips for those new to using SAN storage for SQL Server. SAN Storage is quite expensive, and doubly so if your storage doesn't deliver on the performance front. SAN disk arrays are not magic, and sadly they don't just automagically perform well, marketing to the contrary. These are some items I have found helpful in configuring them:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create and maintain a good relationship with your SAN admin. You need to know the details of how the storage is laid out for your SQL Server, and how to describe what you need in a way that she can understand. Don't treat it like a black box.&lt;/li&gt;

&lt;li&gt;Find out about the disk offset / alignment issue. I won't cover that here, as it's well documented &lt;a href="http://msdn.microsoft.com/en-us/library/dd758814.aspx"&gt;elsewhere&lt;/a&gt;. Just be sure to use DISKPART and the ALIGN parameter on Windows 2003 or earlier.&lt;/li&gt;

&lt;li&gt;When you spec anything that is demanding performance-wise, to your SAN administrator, don't just ask for a quantity of space -- include a performance threshold in IO's per second. The number of physical disks required in the array, just as with direct attached storage, will most likely be driven by your performance needs and not the capacity you ask for. DB's that need a lot of disks on DAS also need a lot of disks in a SAN attached array, for all the same reasons. (Here's a great recent post about performance-centric design from &lt;a href="http://www.rodcolledge.com/rod_colledge/2009/05/dbas-behaving-badly-410-storage-configuration.html"&gt;Rod Colledge&lt;/a&gt;.)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With larger LUNs, it's common practice to build them by ganging together smaller groups of disks - for example, if you need 24 disks, they might be organized first into LUNs of 6 disks each, then grouped into the 24-disk set (sometimes called a "meta-LUN"). The details of how that is done are vital to performance.
&lt;/p&gt;

&lt;p&gt;For the LUN spec, it's fairly straightforward if you have an existing system that you can use as a benchmark (even if it's underperforming). Do project the quantity of storage that you'll need, but don't stop there -- use Perfmon to record the physical disk counters describing IO per second disk performance with the system under load. If the existing system's disk performance isn't adequate, apply a multiplier to get to the requirements for your new LUN. Provide the SAN administrator the quantity of storage, the IO measure in Reads and Writes per Second and the bandwidth you need in MB per second. It often happens that the IO performance measures are the limiting factor, and that they are limited by physical disk hardware, implying that the SAN Admin will have to provide more disks than would be required for raw capacity.&lt;/p&gt;

&lt;p&gt;Next, be aware of the issue with Concatenated LUNs vs. Striped Luns. To take the example of the 24 disk LUN above, there are two ways to gang together those groups of 6 disks: striping and concatenation. Concatenation will chain them together in sequence, such that the first six disks work in concert to provide the first 1/4 of the total storage, then when those are full, the second set provides the next 1/4 of the storage, and so on. That may be OK for another app, like file storage, but this is exactly the wrong effect for a database! If you imagine those flashing busy lights on the disk array, it means that as you start using the LUN, the first six disks will light up and the others will be essentially idle. The resulting IO performance will be about that of a 6 disk array, despite all the empty space provided.&lt;/p&gt;

&lt;p&gt;Striping, on the other hand, means that the data will be "banded" across all the disks right from the start, and you'll get the corresponding performance as all the disks work together. This is essential, or else the large quantity of (expensive!) disks is basically wasted.&lt;/p&gt;

&lt;p&gt;Worth noting: our EMC arrays' management software issues an ominous message when creating a striped meta-LUN like this, warning that it could take a long time, maybe more than a week, to stripe. The key here is that, as far as I can tell, that only applies if you are dealing with LUNs that already have data on them, and that need to be reorganized. Striping a large, empty volume of space doesn't really take that long.&lt;/p&gt;

&lt;p&gt;Finally, test the IO performance of the LUN before putting it into production, and make sure it'll deliver what you require. This can be as simple as a &lt;a href="http://sql-server-performance.com/Community/forums/t/2337.aspx"&gt;stress-testing script&lt;/a&gt; or a utility like &lt;a href="http://support.microsoft.com/kb/231619"&gt;SQLIOSim&lt;/a&gt;, combined with Performance Monitor's physical disk counters.&lt;/p&gt;&lt;img src="http://www2.sqlblog.com/aggbug.aspx?PostID=15503" width="1" height="1"&gt;</description><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/performance/default.aspx">performance</category><category domain="http://www2.sqlblog.com/blogs/merrill_aldrich/archive/tags/san/default.aspx">san</category></item></channel></rss>