Sunday, December 11, 2011

Jetstress 2010 to Evaluate a JBOD – SATA Configuration with a MSA2312fc G2


Performance Evaluation with Jetstress 2010
The installation of Jetstress 2010 is pretty straight forward and described in the “Jetstress 2010 Beta Preview Release Document”. At the time of writing there’s a complete software package available at the Microsoft Connect Web-Site. It is available to people participating in the “Exchange E14 TAP/RDP” program. The package includes some preliminary documentation highlighting Exchange 2010 specifications and differences to previous versions of Jetstress. There’s also a public Jetstress 2010 available, however, still with the Exchange 2007 chm help file.
To verify the proposed disk configuration (see Figure 1) Jetstress is configured to “Test an Exchange mailbox profile” (Figure 11).
Figure 11: Test Scenario
It is advisable to fill in the description field to be able to track changes between different test runs.
Figure 12: Mailbox Profile
Because it is planned to host a maximum of 3800 users there will be three servers with approximately 1100 users and one server hosting 550 users. On average, each user will be allowed to store 500 MB of data in her or his mailbox. This is five times the size an average user is utilizing today. Although the calculated number of required IOPs is 0,05 (see section Background Information) it is recommended to seek for the IOPs maximum. In the given scenario (number of mailboxes, mailbox size, number of databases per server) this is 0,12. Of course, it takes several iterative test runs to find and confirm this number. To get an idea where to start, one can take the (minimum) IOPs a SATA disk can handle, which is around 60, multiply it by the number of disks used and divide it by the number of mailboxes. For example, when putting 1100 users on two disks this would be 2 x 60 / 1100 = 0,11.
The most crucial parameter when Jetstress testing mailbox profiles is “thread count (per database)”. Its value is used to generate required IOPs. In the example shown in Figure 12 this would be 1100 x 0,12 = 132 IOPs.
Per default “Suppress tuning and use thread count (per database)” is not selected. If this checkbox is not selected, Jetstress should auto tune the thread count value to produce required IOPs. However, in the given context, Jetstress always fails to do so. In this case Microsoft recommends NOT to use the auto tuning feature and to specify the thread count manually. When selecting the checkbox to enable manual tuning, which is done for this test (see Figure 12), Jetstress populates the corresponding input field with a value depending on the number of installed CPUs. For example, if there are two quad core CPUs in the system, Jetstress suggest 16 threads however, in currentthe example, it is found to be a far too high number and needs to be reduced to 3 for a “Pass” in the test results.
At this point it is worth highlighting the relationship between thread counts, IOPs and read / write latencies which is found through iterative testing. A higher thread count produces more IOPs. This in turn, leads to higher latencies. For example, using above mentioned 16 threads produces some hundred IOPs and database read latencies of more than 70ms. Microsoft’s recommended maximum values for latencies are, along with some other parameters, defined in the Jetstress configuration file. The file is in XML format and can easily be modified with a text editor, such as notepad. When fine tuning IOPs and thus, latencies, the XML file can be edited to modify the “SluggishSessions” parameter. Increasing this value will cause each thread to execute less I/O.
Other parameters which can be set through the GUI are “Test Type”, such as Performance, Streaming Backup or Soft Recovery. There are also checkboxes for running background maintenance and multi-host test. When selecting the later one, the application prompts the user to continue at certain test phases to be able to “synchronize” hosts and, hence, “stress” the storage systems from several hosts simultaneously.
Another important parameter is “Test duration”. The minimum which can be selected from a drop down list is two hours.
Finally the “Number of databases”, “Number of copies per database”, “Database Path” and “Log Path” need to be specified as shown in Figure 13. With Exchange 2010 it is possible to place the database and corresponding log files on the same disk.
Figure 13: Database Configuration
Prior to test execution it is possible to attach existing databases, create new ones or, if available, restore databases from backup copies.
Jetstress 2010 Test Results
The following screen shots show the Jetstress 2010 test results from the previously described scenario. Achieved transactional IOPs of 126,1 are within an allowed margin of -5%. Important read- and write latencies are also within limits. Hence, the overall test result is “pass”.
Figure 14: Jetstress 2010 Test Results
Taking into consideration that there’s a calculated requirement of 0,05 IOPs per mailbox, there’s some confidence that the proposed solution will work in the production environment and that an expected demand for additional I/O power will be supported by the system.
A final word on testing the one server, one mailbox configuration (e.g. see SAUT0012 in Figure 1): Although one would expect a clear pass with this configuration as well, this is not case. As discussed above the challenge is to find the proper thread count (andSluggishSessions) values to generate the requested IOPs.
Figure 15: Jetstress- One Database Only
Figure 15 depicts that IOPs are (a little over) achieved but database read latency slightly missed its target of 20ms resulting in an “Overall Test Result Fail”. Several measures could be taken to resolve this issue. For example, reduce IOPs per mailbox to 0,11, which is still sufficient since the actual requirement is 0,05 and adjust thread count settings appropriately.

Summary

This KB explains a possible use of Jetstress for Exchange 2010 to evaluate a cost effective storage solution, such as an MSA2312fc G2. Using Jetstress it is confirmed that SATA disks are an option with Exchange 2010. In fact, it is found that with an average user load of 0,12 IOPs the JBOD/RAID-less model can support up to 550 users in a 275 GB Database on a single drive. Alternatively, 750 users on a 375 GB database are tested successfully when considering an average load of 0,08 IOPs.
To evaluate current and future requirements is essential for successful Exchange migration projects. Jetstress helps to get some confidence that new configurations will work flawless in the production environment. However, for a more practical approach in testing a real life configuration, Loadgen for Exchange 2010 will be used in a next step.
source: http://billychau.wordpress.com/2010/02/28/jetstress-2010-to-evaluate-a-jbod-%E2%80%93-sata-configuration-with-a-msa2312fc-g2/
source: 

No comments:

Post a Comment