substantial amount of Virtual I/O. This is probably on the high side, but can be important to have
something left over. If the hosting partition uses all its CPU, Virtual I/O may slow substantially.
y
Use Virtual LAN for connections between iSeries partitions whether OS/400 or Linux.
If your
OS/400 PTFs are up to date, it performs roughly on a par with gigabit ethernet and has zero hardware
cost, no switches and wires, etc.
y
Use Virtual Disk for disk function.
Because virtual disk is spread ("striped") amongst all the disks
on an OS/400 ASP, virtual disk will ordinarily be faster. Moreover, with available features like
mirroring and RAID-5, the data is also protected much better than on a single disk. Certainly, the
equivalent function can be built with Linux, but it is much more complex (especially if both RAID-5
and striping is desired). A virtual disk gives the advantages of both RAID-5 and data "striping" and
yet it looks like an ordinary, single hard file to Linux.
y
Use Hardware Multithreading if available.
While this will not always work, Hardware
multithreading (a global parameter set for all partitions) will ordinarily improve performance by 10 to
25 per cent. Make sure that it profits all important partitions, not just the current one under study,
however. Note that some models cannot run with QPRCMLTTSK set to one ("on") and for the
models 825, 870, and 890, it is not applicable.
y
Use Shared Processors, especially to support consolidation
. There is a global cost of about 8 per
cent (sometimes less) for using the Shared Processors facility. This is a general Hypervisor overhead.
While this overhead is not always visible, it should be planned for as it is a normal and expected
result. After paying this penalty, however, you can often consolidate several existing Linux servers
with low utilization into a single iSeries box with a suitable partition strategy. Moreover, the Virtual
LAN and Virtual Disk provide further performance, functional, and cost leverage to support such
uses. Remember that some models do not support Shared Processors.
y
Use spread_lpevents=
n
when using multiple Virtual Processors from a Shared Processor Pool.
This kernel parameter causes processor interrupts for your Linux partition to be spread across
n
processors. Workloads that experience a high number of processor interrupts may benefit when using
this parameter. See the Redbooks or manuals for how to set kernel parameters at boot time.
y
Avoid Shared Processors when their benefits are absent
. Especially as larger iSeries boxes are
used (larger in terms of CPU count), the benefits of consolidation may often be present without using
Shared Processors and its expected overhead penalty. After all, with 16 or more processors, adding
or subtracting a processor is now less than 10 per cent of the overall capacity of the box. Similarly,
boxes lacking Shared Processor capability may still manage to fit particular consolidation
circumstances very well and this should not be overlooked.
y
Watch your "MTU" sizes on LANs.
Normally, they are set up correctly, but it is possible to
mismatch the MTU (transmission unit) sizes for OS/400 and Linux whether Virtual or Native LAN.
For Virtual LAN, both sides should be 9000. For 100 megabit Native, they should be 1500. These
are the values seen in
ifconfig
under Linux. On OS/400, for historical reasons, the correct values are
8996 and 1496 respectively and tend to be called "frame size." If OS/400 says 1496 and Linux says
1500, they are identical. Also, when looking at the OS/400 line description, make sure the "Source
Service Access Point" for code AA is also the same as the frame size value. The others aren't critical.
While it is certain that the frame sizes on the same device should be identical, it may also be
profitable to have all the sizes match. In particular, testing may show that virtual LAN should be
changed to 1500/1496 due to end-to-end considerations on critical network paths involving both
IBM i 6.1 Performance Capabilities Reference - January/April/October 2008
©
Copyright IBM Corp. 2008
Chapter 13 - Linux
188