Ramchandra's Weblog

Just ……everything about DB2 LUW


Db2 Performance

Db2 performance metrics

DB2 LUW Performance: Progress Review plus Closing Files | Blogs

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.


Tips for improving INSERT performance in DB2 Universal Database

Tips for improving INSERT performance in DB2 Universal Database


The DB2 UDB memory model

The DB2 UDB memory model

The DB2 UDB memory model –very good link

SQL Procedures Performance: Hints and Tips

SQL Procedures Performance: Hints and Tips

Automatic table maintenance in DB2

Automatic table maintenance in DB2, Part 1: Automatic statistics collection in DB2 for Linux, UNIX, and Windows

DB2 Performance Expert- part 1

Simplify performance management and tuning with DB2 Performance Expert: DB2 Performance Expert overview

DB2 best practices for basic design, performance, and manageability

DB2 best practices for basic design, performance, and manageability

DB2 best practices for basic design, performance, and manageability

Determining performance problems with DB2 Java applications

Determining performance problems with DB2 Java applications

Determining performance problems with DB2 Java applications

Modifying kernel parameters (Linux)

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.

   sysctl -p 

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.

Blog at

Up ↑