Pimp My Exchange: The Microsoft Exchange Calculator with EMC Extensions


People designing Exchange storage layouts often use the excellent Microsoft Exchange storage calculator.  This is a great first step, but the tool does not include a couple important things.  One is background database maintenance (BDM) which can sometimes cause a disk IO testing tool like JetStress to fail.  Another is that it lacks in providing a visual view of the Exchange layout.

EMC Solution

EMC’s extensions add in some of the IOPS details (like BDM) that the base calculator might miss and we’ve also designed a tool called the DAG Instant Visualization Application (DIVA) that helps to visualize the environment in a more legible way.   Watch this great video interview with Jim Cordes (creator of these tools) for more details!

To get the calculator with EMC extensions and DIVA, go to the Everything Microsoft site.

The direct link to the pimped-out calculator is here.

[updated 2/1/2013] Here is a link to a recent training module for this calculator.

Inside the Partnership (EMC/MSFT): The Video Series: Episode #33: Microsoft Exchange Storage Calculator with EMC Extentions

Welcome to Inside the Partnership (EMC/MSFT) Episode #33, August 19, 2012.

I spent a good portion of my early career here at EMC configuring and designing Microsoft Exchange storage solutions.  Granted, most of those conversations included Exchange 2003 and EMC replication technologies, new concepts in 2004-2006.

Storage design, then and now, is key to a successful messaging platform.  It is so important that Microsoft has dedicated an “Exchange 2010 Exchange Storage Calculator”, which is a handy spreadsheet that allows user input to drive a potential server design. The tool, currently in version 19.9, has been instrumental in many storage designs. 

The tool, designed by Microsoft to support the design of Microsoft Exchange, overlooks some fundamental considerations when deploying Exchange on an EMC Enterprise Architecture.

Jim Cordes is part of the EMC Commercial Solutions Advisory Team and has been designing messaging solutions since the early days of MS Mail.  He has been hard at work developing the “EMC Extensions” for the Microsoft Exchange 2010 Storage Calculator.  I spent some time with Jim at Microsoft Teched this past year.       

You can find the Microsoft Exchange 2010 Storage Calculator with EMC Extensions here and everything Microsoft at EMC at www.emc.com/EverythingMicrosoft.

Thanks for watching. To be notified of the latest Inside the Partnership videos, follow me on Twitter @EMCMSFT and check out www.InsideThePartnership.com. You can subscribe to the RSS Feeds for the Blog, the Pod Cast and the Video Cast respectively at www.InsideThePartnership.com and be sure to check out my latest Video cast at www.InsideFlash.com

Microsoft SQL Server, EMC Symmetrix VMAXe and EMC Isilon Enable Dramatic Gains in Performance and Scalability for Industry Leading Auction website

Heritage Auctions is the world’s largest collectibles auctioneer and third largest auction house in the world.  The company has seen its inventory and bidding volumes increase significantly in recent years, and has extensively incorporated online bidding and video into the auction process.  Due to these factors, the amount of data – including photos of collectibles and online video – that Heritage Auctions must manage daily has grown exponentially.

Hear from Brian Carpenter, Vice President of Information Technology, Heritage Auctions, on how EMC and Microsoft are helping to address these challenges.


SQL Licensing and Virtualization: Lemons and Lemonade

Virtualizing SQL Server is not a new conversation for anybody who’s been around the technology over the last few years.  But recently there’s been a new twist to the conversation regarding licensing.

Microsoft has changed the licensing model for SQL Server Enterprise Edition 2012 (SQLEE).  It’s important to remind people here that Enterprise Edition is the only way to get high availability with SQL Server.  With SQL 2008, you could license Enterprise Edition under the “Server+CAL” model.  This meant that customers could buy virtually unlimited SQL processing with Enterprise features and, by limiting the number of clients directly accessing SQL, they could limit the cost of the SQL licensing.

The Lemons (SQL Licensing Changes)

“Per core” licensing is the only option available to SQL 2012 EE customers.  In a virtual environment, it’s “per vCPU”.  What’s more is that any server licensed for SQLEE needs a minimum of 4 licenses, regardless of the number of cores or vCPUs in use.  This is no surprise, and I don’t think any of us should hold this against Microsoft.  SQL Server is a very robust database platform, and its primary competitor has used this licensing model for many years now – Microsoft has been undervaluing their technology for the better part of a decade.

But let’s take a look at the kind of effect this can have on licensing costs.  Most of the time I see physical SQL Servers with 16 cores.  This makes sense – a decent server with 4 quad core processors is of pretty good value from almost any server vendor.  Through savvy application layer design, customers can limit the number of clients and devices directly querying the database; normally I see between 4 and 10 clients per server.  The list price for SQL 2008 EE was $8,500 per server, plus $150 per CAL.  So you could walk out the door with a highly available SQL Server for $10,000.  With SQL 2012 EE at $6,874 per core, this same server would cost $109,984 – nearly an 11x increase in price.


Even if you don’t have a processor intensive workload, this can still be costly.  Let’s say you can rip out 3 of those 4 processors and still run efficiently.  After all, not all business critical workloads are processor intensive, right?  But even the smallest possible server is going to cost nearly 3x the licensing of a 2008 Server+CAL model


The Sugar (All-you-can-eat SQL Server Enterprise)

Microsoft has embraced virtualization with its new SQL licensing model.  I might need HA for a workload, but it might not be processor intensive.  The graph below shows a prime example, where the CPU at peak is 31% busy.


This particular server has 16 cores, and as we’ve seen, cores = money in the SQL 2012 world.  If this customer could find a way to use those idle cycles for other SQL workloads, then they can save some significant money ($63,000 to be exact).  There are a few different ways to do this:

  • Putting multiple databases in a single instance
  • Putting multiple instances on a single physical machine
  • Putting multiple virtual machines on a single physical host

Microsoft has embraced virtualization here, because if you license the processors on a given physical machine SQL Server Enterprise, you can put all the SQL Server Enterprise VMs you want on that physical machine.  It doesn’t matter which hypervisor you’re using – VMware, Hyper-V, Xen, or Joe’s Hyperific Emporium and Bait Shack’s HyperVisor.  As long as it’s on the SVVP list, you can do it.  The two big caveats are:

  • If a VM is running SQL Server, either all the cores on the physical box hosting it must be licensed, or the VM must be licensed in a per vCPU manner
  • If you have gone with the core model in a virtualized environment, you need Software Assurance, or you are limited to one physical server move per 90 days.

The Water (Sub-Cluster licensing)

One of the biggest mistakes people make is licensing all the cores in a hypervisor cluster, or going to the trouble of building a dedicated cluster for SQL Server.  The first is far more expensive than it needs to be, and the second eats into the flexibility and value proposition of virtualization.  Let’s say I have an 8 node cluster, with 16 cores each.  This would cost about $900,000 to license.  I might be tempted to create a smaller cluster just dedicated to SQL Server.  But then I would be creating a processing silo, which wouldn’t be able to be shared amongst my other workloads.

The best option by far is sub-cluster licensing.  I could license just one of my servers, run as many VMs that can fit on that server.  I can still have HA, because passive nodes in a failover cluster do not need to be licensed.  If I move all my SQL VMs en masse to another host, I still have to license only one host.  Density is the key here.  Most people will do 4:1 vCPU:Core ratio and still get by just fine.  Some of Microsoft’s models do up to 12:1 vCPU:Core ratio, and if you can get assure performance with that model, you can get absolutely fantastic savings.  This graph compares 4 Physical Servers with the minimum of 4 cores each compared to a virtualized infrastructure with the 4 vCPUS and a conservative 4:1 vCPU:core ratio.  Most shops I see will consolidate more aggressively for more savings.


The Lemonade (Enterprise Edition for All)

Being able to choose SQL features like failover clustering and availability groups based on the workload rather than the licensing cost is by far the best aspect of this approach.  Imagine you have 8 SQL Standard Edition servers and you can consolidate those on a virtual platform with a 2 vCPUs:VM and a 4:1 vCPU:Core ratio.  You can get Enterprise features for those instances, and STILL save money on licensing.


The Blender (Performance Metrics)

For most folks, it’s not a matter of whether you can benefit from the approach, it’s how much you can benefit from it.  Everybody has some spare CPU on their physical servers, and a renewed server infrastructure would only create more spare CPU cycles.  So do some simple data gathering.  Look at how much CPU you have left over today.  Do some math to figure out how much spare CPU you’d have on a new compute infrastructure.  I’ve stepped through this exercise with numerous customers, and they’ve all been surprised at the extent to which this can not just save money, but add features and functionality to their environment.

Perfcollect 4.1

I’ve updated perfcollect with a number of new features:

  • New perfmon counters:  These new data will be in the larger of the two files in the perfmon directory.  The new counters are related to:
    • Hyper-V
    • Cluster Shared Volumes
    • VMware guests
    • Xendesktop
  • Visibility into the physical storage:  These files will have “inq” in the file name and reside in the config\detail directory of the output.
    • Detailed information about the LUNs serviced by EMC mid-range and high-end storage arrays
    • Vendor, model number, revision, serial number and capacity of disk drives
  • Partial non-english language support: Because perfcollect relies on string searches to determine which counters to collect, previous versions of perfcollect would fail to execute the data collection when some (but not all) language packs were active (as outlined in the readme).  Version 4.1 detects this condition performs a number of actions:
    • Creates and runs a perfmon collect with a subset of the counters.  This counter file includes all the PhysicalDisk, LogicalDisk, Cluster Shared Volume, and SMB Client Share counters.
    • Notifies the user with the text “Building Perfmon counter list for the Non-English Language Pack...” during the run
    • Completes entry into the debug\progress.txt file with “Non-english perfmon counter build finished

The resulting non-english perfmon file should be adequate for sizing purposes, but will not have all the counters required to evaluate application-level performance (for example, there will be no detail around SQL Server, Exchange, Hyper-V performance).  If you need to troubleshoot or triage a performance problem with a particular server, please install and enable the English language pack, or manually create the data collector set.  Installing and enabling a language pack does not require a reboot.