The paper shows the application of the
benchmark for two purposes: a performance
comparison and the exploration of the
scalability of a SAP ERP system.
The rest of the paper is organized as follows:
section 2 explains the architecture of a SAP ERP
system. In section 3 we discuss how SAP
benchmarking is currently done in the real world and
highlight some difficulties, which lead to the
development of a new synthetic benchmark. Chapter
4 focuses on the derivation of the benchmark
requirements, which are later on used to check the
alignment of the Zachmanntest. Chapter 5 presents
several performance results and we show for what
purpose the Zachmanntest can be utilized. Chapter 6
is designated to the limits of the Zachmanntest and
chapter 7 summarizes the paper and provides an
outlook.
2 SAP ARCHITECTURE
The SAP ERP system uses a typical three layer
architecture consisting of a graphical user interface,
an application server (AS) and a database
management system (DBMS). All of the
components can but do not have to be on different
servers.
The graphical user interface, called SAPGui, is
part of a fat client installation on the user’s PC. As
the performance of the SAPGui is not the limiting
factor for the performance of the SAP ERP system
(Schneider 2005), it will not be considered anymore
in this paper.
Actually, the performance of a SAP ERP system
is mainly influenced by the performance of the AS
and DBMS. The application server is developed and
delivered by SAP itself, whereas the database
management system can be chosen by the customer
from a list of fully supported and certified DBMS
vendors, e.g. IBM DB2, SAP MaxDB or Oracle.
Due to the fact that the architecture and performance
factors of DBMS are completely different, the
DBMS will not be considered anymore in this paper.
For testing and verifying the performance of DBMS
there are other more powerful benchmarks available
(Doppelhammer et al. 1997).
The application server itself is based on a SAP
kernel, which is a huge set of C programmed
executables (Gradl et al. 2009). The SAP kernel
contains the following processes (SAP 2001): a
dispatcher process for distributing the workload to
the so called work processes for short term user
requests and batch process for long term user
requests. All processes use one central enqueue
process. Besides there are also gateway processes,
several spooling processes, update processes and
message server processes. Coupling all these
processes together form the central instance of a
SAP ERP system (also known as the application
server). In order to handle a lot of user requests and
user input such a central instance can be supported
by dialog instances on satellite servers. Dialog
instances provide the same services for SAP users as
the central instance does with one except of the
Enqueue server.
As mentioned before all of the processes are C
programmed executables, which use the Inter
Process Communication (IPC) features of the
specific operating system. In fact, two mechanisms
are used intensively: semaphores and shared
memory segments. For exchanging data between
several processes shared memory segments are used
for storing and manipulating data, which is used by
all process (Bögelsack et al. 2010a; SAP 2001). For
example, for buffering often used database data, the
SAP ERP system uses internal buffers by creating
huge shared memory segments, which are used by
all processes. That way, it is possible to store
frequently accessed data from the database in the
main memory of the application server instead of
accessing it from the database several times.
3 SAP BENCHMARKING
3.1 Application Benchmarks
For a lot of different SAP systems, not for all, SAP
defines application benchmarks (see (SAP 2010)).
The most popular one is probably the SD benchmark
for SAP Enterprise Resource Planning systems
(Lober, Marquard 2003). The SD benchmark defines
typical sales and distribution activities in the SAP
system. Those activities produce a heavy workload
on the SAP ERP system. The SD benchmark is still
used to determine the overall performance of a SAP
ERP system and the underlying hardware.
Moreover, it can be used to compare server's
performance of different hardware vendors. Besides
the SD benchmark there are several other
benchmarks for other dedicated SAP systems
available.
One major is the fact that the benchmarks only
focus on a small set of functions/programs of the
entire SAP system (Marquard, Götz 2008). To be
clear: a SAP ERP system consists of more than
160,000 programs, whereas the SD benchmark only
ZACHMANNTEST - A SYNTHETIC MEMORY BENCHMARK FOR SAP ERP SYSTEMS
349