The Synchronous Read Percentage, or SRP, tells us how much random synchronous I/O DB2 is doing. High SRP values are achieved when high quality indexes are in place. When DB2 does too much prefetch I/O scanning (with asynchronous I/O), SRP will be lower. If you have an OLTP database and SRP is less than 80%, absolutely do not upgrade your hardware – you have physical design problems to fix first.
DB2 best practices for basic design, performance, and manageability
Determining performance problems with DB2 Java applications
Modifying kernel parameters (Linux)
Before installing DB2 UDB, you may want to update your Linux kernel
parameters. DB2 UDB automatically raises the IPC limits where necessary. You
might still want to raise these limits further depending on your particular
You must have root authority to modify kernel parameters.
To update kernel parameters:
- RedHat and SuSE
- Systems using a 2.4.x series kernel have a default value for the message
queue parameter (msgmni), which allows only a few simultaneous connections to
DB2. Semaphore array parameters also have to be changed for DB2 to run
successfully. To check shared memory segment, semaphore array, and message queue
limits, issue the ipcs -l command.
The following is the output from the ipcs -l command.
# ipcs -l
------ Shared Memory Limits --------
max number of segments = 4096 // SHMMNI
max seg size (kbytes) = 32768
max total shared memory (kbytes) = 8388608
min seg size (bytes) = 1
------ Semaphore Limits --------
max number of arrays = 1024 // SEMMNI
max semaphores per array = 250
2 max semaphores system wide = 256000
max ops per semop call = 32
semaphore max value = 32767
------ Messages: Limits --------
max queues system wide = 1024 // MSGMNI
max size of message (bytes) = 65536
default max size of queue (bytes) = 16384 // MSGMAX
Modify the kernel parameters by adding the following entries to the default
system control configuration file, /etc/sysctl.conf:
2 kernel.msgmni = 1024
2 kernel.sem = 250 256000 32 1024
max semaphores system wide =
max number of arrays x max semaphores/array
Run sysctl with -p parameter to load in sysctl settings
from the default file /etc/sysctl.conf.
The entries from the sysctl.conf file are read
during startup by the network initialization script.
On some distributions you may be required to add sysctl -p
in one of the system initialization files (for example, rc.local) so
that kernel parameters are set after each reboot.