White Papers

Caching Software Performance: FlashSoft Software 3.8 for Microsoft Windows Server with Hyper-V and SQL Server 2012

The objective of this paper is to observe performance gains that can be achieved in a virtualized computing environment with the application of a server-based SSD cache controlled using FlashSoft software version 3.8 from SanDisk.

Introduction

The objective of this paper is to observe performance gains that can be achieved in a virtualized computing environment with the application of a server-based SSD cache controlled using FlashSoft software version 3.8 from SanDisk.

A Dell™ PowerEdge™ server running Microsoft Windows Server 2012 R2 was configured with multiple virtual machines (VMs) using Hyper-V virtualization technology. FlashSoft software was used as a host-based read-write cache to accelerate identical Microsoft SQL Server workloads running on the VMs. Benchmark Factory™ for Databases performance testing software was used to generate an OLTP workload and measure performance of the Microsoft SQL database. Database performance was compared in the configuration using the host-based SSD cache versus that of a non-accelerated all-HDD baseline configuration.

 

System Under Test

The test server was configured as described below:

Hardware

  • Server: Dell PowerEdge R730xd
    • CPU: 2x Intel® Xeon® E5-2699 v3 @ 2.30GHz, 36 cores/72 logical processors total
    • System Memory (RAM): 160GB
    • Storage Controllers:
  • Internal HDDs: Dell PERC H730 Mini RAID (embedded)
  • SSDs: Dell Express Flash NVMe XS1715 800GB PCIe SSD Controller
  • Fibre Channel: QLogic Fibre Channel Adapter, driver version 9.1.13.20
    • Internal HDDs: 2x 1TB 7200RPM SATA 6 Gbps, Seagate ST91000640NS
    • SSD: 1x 800GB Dell PowerEdge Express Flash NVMe PCIe SSD
  • External Storage: Dell Storage SCv2020 FC
    • 24x SAS 300GB disks
    • 2x controllers, 1024MB cache per controller, read-write cache enabled

Virtual Machines

  • 4x Benchmark Factory VMs. Each configured with:
    • 8GB virtual memory
    • 8 vCPUs
  • 4x Microsoft SQL Server VMs. Each configured with:
    • 24GB virtual memory
    • 20 vCPUs
    • 800GB virtual disk for database/log (VHDX virtual hard disk format, NTFS file system)
    • SQL DB configuration: 6GB SQL memory, 550GB database file size, 200GB log file size
 

Figure 1: Server configuration used for testing

 

Software

  • Operating System Software (host server and virtual machines)
    • Microsoft Windows Server 2012 R2 Datacenter (includes built-in Hyper-V virtualization)
  • Database Software
    • Microsoft SQL Server 2012 Enterprise (service pack 1)
  • Benchmark Software
    • Benchmark Factory for Databases (version 7.2)
  • Caching Software
    • FlashSoft 3.8 for Windows Server (‘fiodrv’ driver version: 4.1.0.62935) operated using read-write (write-back) caching mode.
 

Storage Configuration

Table 1 lists the storage configuration used for testing.

 

Drive Type Usage Configuration
Internal Hard Disk Drives:
2x 1TB 7200RPM SATA 6 Gbps
OS (host server, VMs) 931GB 2-drive RAID-0, 64k stripe
  • (C:) 194GB NTFS file system (server OS)
  • (F:) 735GB NTFS file system (VM OS)
External Storage:
Dell Storage SCv2020 24x 300GB disks
Database/Logs (VMs) 4x 800GB 22-drive RAID-10; VHDX vDisk format, NTFS file system
PCIe SSD:
800GB Dell PowerEdge Express Flash NVMe PCIe SSD
Cache Cache size scaled up by 150GB for each VM tested

Table 1: Storage configuration used during testing

 

Benchmark Tests

This study used Benchmark Factory for Databases to generate and measure an OLTP workload based on the TPC-C benchmark. The following sections describe the simulated TPC-C workload and the benchmark software used in this study.

TPC-C Workload

TPC-C is an industry-standard OLTP benchmark that simulates an order-entry computer system in which multiple users execute transactions against a database. The simulated company sells 100,000 items that it stocks in multiple warehouses. Each warehouse supplies 10 sales districts, and each district serves 3,000 customers. Operators in each district take orders for customers, each order containing a number of items.

The TPC-C operation mix models real-world production environments. The simulated system places orders, enables payment and delivery of orders, and queries order status and stock levels of warehouses. The five transactions are selected at random using the following balance:

  • New-order: receive a new order from a customer: 45%
  • Payment: update the customers balance to record a payment: 43%
  • Delivery: deliver orders asynchronously: 4%
  • Order-status: retrieve the status of customer’s most recent order: 4%
  • Stock-level: return the status of the warehouse’s inventory: 4%

The database comprises nine types of tables and a wide range of record and population sizes. The number of warehouses, number of users, and size of the database all scale to simulate an increasing workload.

Note that while TPC-C simulates a wholesale supplier, it is not limited to this particular business segment: It represents any general business that manages or distributes a product or service. For more detailed information on the TPC-C benchmark, refer to the TPC website at http://www.tpc.org/tpcc/detail.asp.

Benchmark Factory for Databases

This study used Benchmark Factory for Databases, a database performance and scalability-testing tool, to measure performance. Benchmark Factory is server neutral and network protocol independent, and it supports a range of industry-standard benchmarks and databases. This study used a TPC-C workload and Microsoft SQL Server 2012 Enterprise.

Benchmark Factory uses software agents running on client machines to simulate virtual users and send transactions to the database under test. Each agent can simulate thousands of concurrent users. The performance test includes a scale factor that increases the size of the database during testing. Benchmark Factory performs automated testing, scaling the user load and measuring the system throughput under the simulated workload.

Results from this performance testing were used to compare the performance provided by FlashSoft software to a non-accelerated baseline measurement. The unit of measure used for performance testing was transactions per second (TPS). Note that a transaction in Benchmark Factory can be more than a simple SQL statement. For example, the TPC-C New Order transaction creates a new order by inserting one record into the new order table and 5–7 items in the orderline table. Response time, the interval between the sending of the SQL statement to the receipt of the server’s response, was also measured for each set of tests.

Comparing Benchmark Factory Results

Benchmark Factory can be used to implement a workload based on the TPC-C specification. However, the transaction performance results from this Benchmark Factory test on this test configuration should not be compared with published TPC-C benchmarks that have been officially audited by the TPC organization. Rather, this testing is intended to objectively compare performance of the same workload on two configurations on the same server: the baseline in which data is stored on HDDs only, and the configuration in which storage is accelerated with the flash-based cache. These Benchmark Factory results should not be described with the term tpmC, which is used for officially audited TPC tests.

 

Test Procedure

Benchmark tests were conducted multiple times to measure and compare performance of the non-accelerated HDD storage backend and the same HDD backend accelerated using FlashSoft software to drive the flash memory as a host-based write-back cache.

The following testing procedure was used:

  • Install and configure Microsoft Windows Server 2012 R2 operating system on the host server.
  • Install and configure flash memory (SSD) and FlashSoft software on the host server.
  • On the host server, configure the RAID storage volumes, as described in Table 1 on page 4.
  • Create the VMs and install Microsoft Windows Server 2012 R2 as the guest operating system.
  • On the VMs used as database servers, install and configure Microsoft SQL Server 2012.
  • On the VMs used to run the benchmark software, install and configure the Benchmark Factory for Databases software.
    • Database size: 550 GB
    • Benchmark Factory Agents: 10
    • Scale factor: 5,000
    • Transaction mix: TPC-C workload
    • Test execution: 4 iterations, each with 1 minute of ramp-up time and 3 minutes of sampling.
  • Conduct benchmark tests and record results for one VM (i.e., one database VM running Microsoft SQL Server, one benchmark VM generating the workload):
    • With caching disabled, run Benchmark Factory to measure performance of the non-accelerated (baseline) backend storage.
    • Configure and enable FlashSoft software with a 150GB cache to accelerate the backend storage.
    • With caching enabled, run Benchmark Factory to measure performance of the accelerated backend storage.
    • Compare results.
  • Repeat benchmark tests described in step 7, adding an additional database VM and an additional benchmark VM, and increasing the size of the cache by an additional 150GB. Continue scaling and repeating tests for configurations through four VMs. Ensure the benchmark tests are run concurrently on all VMs being tested.

 

Testing Considerations

In order to consistently measure the performance of cached configurations, the cache was completely flushed after each individual test. When testing multiple VMs, performance was measured on all VMs concurrently.

As a general rule, the average response time should not exceed 1 second, to reflect real-world usability standards. For all tests, the average response time for a user load generating the maximum TPS was checked. If it did not exceed 1 second, then that measured TPS and the corresponding user load were used as the test results. If, however, the average response time exceeded 1 second, then the result for the next lower user load not exceeding 1 second was considered instead. Thus, all reported results for maximum TPS have an average response time of less than 1 second.

In this test, a single PCIe card was used for the cache, with write-back mode enabled. In real-world use, administrators should deploy solid-state cards or drives for write-back caching in a mirrored configuration, typically RAID1. Using a non-redundant SSD as a cache device with write-back caching enabled will cause data loss and/or corruption if the solid-state device fails.

 

Measured Results

The following sections include a performance summary followed by detailed test results for the baseline and accelerated backend storage configurations.

Performance Summary

Table 2 contains a summary of the workload acceleration test results as measured by Benchmark Factory for Databases. The baseline configuration used an all-HDD storage backend. The accelerated configuration ran with FlashSoft software enabled and sized at 150GB for each database tested (27.3% of the size of the database workload). Tests were run with one through four VMs, each configured with a 550GB database. Transactions per second (TPS) and user load were measured for both the baseline and the accelerated configurations.

 

Host Configuration Baseline (all-HDD) Accelerated (150GB cache/VM) TPS Improvement over Baseline
# VMs Cache Size TPS User Load TPS User Load
1 VM 150GB 205 4,000 689 14,000 3.36x
2 VMs 300GB 205 4,000 689 14,000 3.36x
3 VMs 450GB 413 8,000 1,832 39,000 4.44x
4 VMs 600GB 516 10,000 2,586 68,000 5.01x

Table 2: Workload acceleration test results

 

Benchmark testing configuration per VM for all tests:

  • Database size: 550GB
  • SQL buffer pool size: 6GB
  • Log file size: 200GB

In all tests, performance was improved in the accelerated configuration compared to the baseline configuration. For example, in tests with four active VMs, the baseline configuration achieved a maximum of 516 TPS. When accelerated with FlashSoft and a total SSD cache size of 600GB (150GB per VM), the same configuration achieved 2,586 TPS. In addition, the accelerated configuration supported a larger total user load of 68,000 as compared to 10,000 for the baseline configuration.

Figure 2 graphically depicts the workload performance increase achieved when accelerating the storage backend using FlashSoft software in write-back mode. In tests with one through four VMs, accelerated configurations using FlashSoft software increased system performance by a range of 3.36 to 5.01 times as compared to the baseline configuration using only HDD-based storage.

 

Figure 2: FlashSoft software provided workload performance improvement over comparable baseline configuration

 

Figure 3 graphically depicts the user load increase achieved when accelerating the storage backend using FlashSoft software in write-back mode. In all tests, accelerating configurations using FlashSoft supported significantly greater user loads as compared to the baseline configuration using only HDD-based storage.

 

Figure 3: FlashSoft software supported greater user loads as compared to the baseline configuration

 

Baseline Workload Test Results

Table 3 shows the measured workload test results for the baseline (that is, non-accelerated, HDD-based storage) configuration. Performance was measured with one VM through four VMs, each configured with a 550GB database. The table shows the total maximum TPS, total average response time (in msec), and total user load for each test, as well as the measurements for the individual VMs.

 

Table 3: Performance results for baseline (non-accelerated configuration)

 

Figure 4: Performance test results for baseline (non-accelerated) configuration

 

Accelerated Workload Test Results

Table 4 shows the measured workload test results for the configuration accelerated with FlashSoft. Performance was measured with one VM through four VMs, each configured with a 550GB database. The table shows the total maximum TPS, total average response time (in msec), and total user load for each test, as well as the measurements for the individual VMs.

 

Table 4: Performance results for accelerated FlashSoft configuration

 

Figure 5: Performance test results for accelerated FlashSoft configuration

 

Analysis / Conclusion

Data measured in these tests illustrate how FlashSoft software from SanDisk® can noticeably improve application performance in a Hyper-V environment compared to traditional all-HDD backend storage. Performance, in terms of TPS and total user load, scaled as the number of VMs increased from one to four. In all tests, throughput (i.e., TPS) was greater in the accelerated configuration that used FlashSoft as compared to the baseline configuration using only HDD-based storage. Performance gains ranged from 3.36 times the TPS for tests with one VM to 5.01 times the TPS for tests with four VMs. In addition, the accelerated configuration supported significantly greater user loads compared to the baseline HDD-only storage configuration.

Caching frequently accessed data on a high-speed SSD reduces access times for applications as they spend less time waiting for read and write operations to complete. By accelerating the storage backend with a server-based SSD cache and FlashSoft software, Microsoft SQL servers running in a virtualized Hyper-V environment can support a larger number of users and a heavier database workload. These performance gains achieved when using FlashSoft in a Hyper-V environment can enable the consolidation of multiple databases onto a single physical server as illustrated by increasing the number of tested VMs. Consolidation can provide many benefits, including more efficient usage of server resources, a smaller data center footprint, lower power and cooling expenses, and reduced hardware, software and administration expenses.

The tests described in this report were conducted with small data sets using Benchmark Factory for Databases performance testing tool. Although the tests were constructed to simulate conditions typically encountered in the field and to generate data that reveal application performance and VM density, the tests can only be considered a demonstration of the capability of FlashSoft software—the data should not be regarded as guaranteed performance impact of FlashSoft software for any workload type or storage environment. The actual performance of any caching solution is highly dependent upon the workload and the computing environment in which it is used.

READY TO FLASH FORWARD?

Whether you’re a Fortune 500 or five person startup, SanDisk has solutions that will help you get the most out of your infrastructure.

VIA
EMAIL

Go ahead, ask us some questions and we'll get back to you with answers.

Let's Talk
800.578.6007

Don't wait, let's just talk now and start building the perfect flash solution.

Global Contact

Find contact information for offices all over the world.

SALES INQUIRIES

Whether you'd like to ask a few initial questions or are ready to discuss a SanDisk solution tailored to your organizations's needs, the SanDisk sales team is standing by to help.

We're happy to answer your questions, so please fill out the form below so we can get started. If you need to talk to the sales team immediately, please phone: 800.578.6007

Field cannot be empty.
Field cannot be empty.
Enter a valid email address.
Field can only contain numbers.
Field cannot be empty.
Field cannot be empty.
Field cannot be empty.
Field cannot be empty.
Field cannot be empty.
Field cannot be empty.

Please indicate your areas of interest:

You must choose an option.

Questions or comments:

You must choose an option.

Thank you. We have received your request.