As we all know, in the early days of SAP virtualization, bad things had happened if you weren't following SAP Note 1122388. But today, with vSphere 5.1 being a very stable and performant hypervisor, you can almost run your SAP system out of the box. Almost...
Neither the amount of vCPUs or vRAM nor the pure compute or scheduling overhead of the hypervisor nor the throughput of disk or network I/O is a real concern today. Your SAP system will run with satisfying performance. But as virtualized SAP systems are growing bigger - respectively, customers are keener to virtualize bigger systems - database instances and application server instances got separated, and more and more additional application servers are now connecting to a single database. Customers running a 3-tier architecture on virtualized platforms got exposed to the "new" bottleneck of virtualization: network latency.
The fact that network switching done by the hypervisor increases latency is well known, but the effects can vary widely - from not being noticed at all through to a process step taking significantly longer than on native hardware. The latter is not acceptable of course, so let's take a look at two major virtualization improvements which can be vital running a high-performance 3-tier SAP system:
With vSphere 5.1, the parameter "latencySensitivity" was introduced. Setting this parameter to high makes changes to the interrupt coalescing and virtual CPU priority for the VM. This can produce better performance results for VMs that are very sensitive to latency.
So how do these two improvements affect performance? First, we need to clarify some parameters, as performance is always a matter of
While some performance tuning guides talk a lot about software and hardware configuration, the factors workload characteristics, influences throughout the test landscape and user expectations demand much more attention than they usually get.
In this context, we used the SAP Load Generator (SGEN) as test workload. SGEN does not generate "workload" - it is not a benchmark-tool in itself! What it does is generating "ABAP load". This means that it compiles raw ABAP code and stores it in the database. But there are still some good reasons to use SGEN for testing:
Batch workloads should not be compared with SAP dialog processing because of the different workload characteristics. If you are interested in a comparison of transactional performance, maybe this whitepaper is of interest for you (different hypervisor and OS, though).
The database instance resides on a Cisco UCS B200 M2 blade. As application servers, three different Cisco UCS B-series blades were configured:
With each of the three configurations, four scenarios have been ran through:
SGEN was limited to six work processes in all test cases for both physical and virtual. All VM tests and the native B200 M3 tests were using 8 cores / vCPUs, but the native B230 M2 tests were using 10 cores. This is an advantage for the native test and we see in the results that it is this comparison that shows the biggest difference between native and virtual in some cases. It is however just a few percentage points in these cases, showing that limiting SGEN to 6 work processes has mitigated most or all of this advantage. We also tested different BIOS settings, UCS adapter policies and so on, but all of these tuning steps were not really visible in the test result. Therefore, we limited the result table to the convincing four scenarios mentioned above.
Optimizing batch workload performance of SAP 3-tier systems on VMware vSphere 5.1 and Cisco UCS |
---|
Configure VM-FEX pass-through |
Adjust the latency sensitivity of the virtual machine |
Use latest generation CPU and NIC hardware |
Feel free to ask or comment about observations you have made in your landscape.
Matt
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
25 | |
13 | |
13 | |
12 | |
10 | |
9 | |
9 | |
8 | |
6 | |
6 |