The frequently heard statement "Linux does not scale!"
is not true at all. It was based on performance observations
in Linux kernel 2.2. We already showed that Linux kernel 2.4
on zSeries shows excellent scaling behavior. With kernel 2.6
the CPU and process scaling could even be improved.
The workload for this test was Dbench version 2.1. The benchmark simulates
a file server and belongs to the benchmark family of Tbench, Dbench, Smbtorture.
Dbench measures only the server without network. The load generator is on
the same system. A single process of the load generator drives a predefined
set of file system operations. The elapse time of all operations is measured
and an average throughput is calculated by dividing the total file size
of all processed files by the elapse time. Starting several workload
processes (clients) allows workload scaling. For all tests the memory
size was 2GB. The workload was tested with different numbers of CPUs (1-4-8-16).
The scaling factors on SLES8 are 1.7 (2 CPUs), 3.3 (4 CPUs),
5.0 (8 CPUs) and 5.4 (16 CPUs). The same tests on SLES9 showed
a similar throughput for 1, 2 and 4 CPUs. The 8 and 16 CPU tests performed
much better. The CPU scaling factors on SLES9 are 2.0 (2 CPUs), 3.8
(4 CPUs), 7.2 (8 CPUs) and 12.7 (16 CPUs).
The promised scaling improvement in kernel 2.6 when using more CPUs can be
seen here.
Test environment
IBM eServer zSeries 990 (2084-316)
IBM TotalStorage Enterprise Storage Server 2105-F20
Linux 64bit, SLES8 kernel 2.4.21-213 and SLES9 2.6.5-7.97
A second scaling test was made with an Informix 64bit database on SLES8
(z900t) and SLES9 (z990). The purpose was not to run a typical database
benchmark with huge memory and storage server requirements but rather to
test CPU and process scalability. As workload we used transactions simulating
a complete environment in which a population of terminal operators performs
transactions against the database. The benchmark is centered around the
principal activities (transactions) of an order-entry environment.
The scaling in the SLES8 tests show scaling factors of 3.7 (4 CPUs),
6.9 (8 CPUs), 9.5 (12 CPUs) and 11.5 (16 CPUs). SLES9
on z990 shows a similar scaling, the throughput was 50% higher than
with SLES8 and z900t when more than 1 CPU was used in the test.
Test environment
IBM eServer zSeries 900 (2064-216) and 990 (2084-316)
IBM TotalStorage Enterprise Storage Server 2105-800
(SCSI disks)
Linux 64bit, SLES8 kernel 2.4.21-213 and SLES9 2.6.5-7.97