Do you know how much your SAP performance is affected by your disk response times? If your overall SAP response times are good, you probably do not care much, but there are still reasons why this could be an interesting question, for example if you want to know if new storage technology (Solid State Devices or Flash Storage) can help your performance, or if you are looking for specific application areas that can be improved for better performance. The SAP and IBM performance tools can give you average values of disk response times and numbers of I/O operations, but you need to put that in relation to SAP response times in order to understand what the actual impact is.
When you look at the SAP response time in transaction ST03, you need to keep in mind that it consists of many components: GUI time, wait time, roll wait time, load and generation time, enqueue time, processing time and database time. Many of these components are not affected by disk response time, the biggest impact is probably in the database time. However, even the database time is not pure disk I/O, but there is also some – sometimes significant – processing time or lock wait time involved. Finally, when you look at the I/O requests themselves, you must consider that mainly disk read requests have an impact on the performance. Most disk write requests are processed asynchronously, so the application does not have to wait until the data is actually written, but can continue immediately, while it has to wait for most read requests to complete first. In addition, new storage technology (Solid State Drives or Flash Storage) is showing bigger performance gains on read requests than on write requests.
Example to calculate benefit of Solid State Devices or Flash Storage:
To estimate the possible gain of new storage technology, you can combine the data of the IBM i Performance Tools with the performance data of SAP (transaction ST03). In a first step, you get the number of disk read requests and the average disk response time for a specific day from the IBM i Performance Tools by creating a resource report for section “Disk Utilization”. The resulting spooled file is showing you the average numbers of read requests per second per interval (to be multiplied by the number of intervals per day) and the average service times for each disk unit. In a customer case that we had looked at, we got a total number of read requests in one day of 297,181,440, and an average disk service time of 3.5 milliseconds. Measurements have shown that Flash Storage would result in average disk service times of 0.5 milliseconds, so switching from spinning disks to Flash Storage would save 3 milliseconds per read request.
To put those numbers in relation to the SAP response time, we counted the number of dialog steps for all types of work (dialog, background and so on) in all SAP instances on that server. This resulted in a total number of 9,833,504 SAP dialog steps on the same day. A simple calculation told us, that we had an average of 30 disk read requests per SAP dialog step, so we can save in average 90 milliseconds per dialog step if we switch from spinning disks to Flash Storage. If your average response time was 600 milliseconds, this saving would reduce that to 510 milliseconds – a certain improvement, but maybe not the big break-through that you may have hoped for. We have seen very different results in real customer systems, so you may want to do the math in order to get a feeling for the impact of disk operations on your average SAP response times.
Tools provided by SAP and IBM:
SAP and IBM provide some tools to help you understanding the impact of disk I/O performance. On the SAP side, you can find the following tools:
The ABAP SQL Monitor is available for all SAP NetWeaver Releases from 7.0 onward. You can analyze specific SAP applications to find performance hotspots and also potential for optimizations.
With this SAP Note, an ABAP report named ZDB4GETIOTIMESHARE is provided that produces an SQL plan cache dump and lists expensive SQL statements with their I/O share. This list can give you an idea whether your expensive statements are CPU bound or I/O bound, so that you can see if faster storage can help your performance.
IBM is providing the following tool:
This tool evaluates the disk read times collected by the IBM i Performance Monitor and is giving you a recommendation based on the collected data.