Home

 

Tuning performance for nonpersistent messages on AIX

 

If you are using AIX, consider setting your tuning parameter to exploit full performance for nonpersistent messages. To set the tuning parameter so that it takes effect immediately, issue the following command as a root user:

/usr/sbin/ioo -o j2_nPagesPerWriteBehindCluster=0
To set the tuning parameter so that it takes effect immediately and persists over reboots, issue the following command as a root user:
/usr/sbin/ioo -p -o j2_nPagesPerWriteBehindCluster=0

Normally, nonpersistent messages are kept only in memory, but there are circumstances where AIX can schedule nonpersistent messages to be written to disk. Messages scheduled to be written to disk are unavailable for MQGET until the disk write completes. The suggested tuning command varies this threshold; instead of scheduling messages to be written to disk when 16 kilobytes of data are queued, the write-to-disk occurs only when real storage on the machine becomes close to full. This is a global alteration and may effect other software components.

On AIX, when using multithreaded applications and especially when running on machines with multiple CPUs, we strongly recommend setting AIXTHREADSCOPE=S in the environment before starting the application, for better performance and more solid scheduling. For example:

export AIXTHREADSCOPE=S
Setting AIXTHREAD_SCOPE=S means that user threads created with default attributes will be placed into system-wide contention scope. If a user thread is created with system-wide contention scope, it is bound to a kernel thread and it is scheduled by the kernel. The underlying kernel thread is not shared with any other user thread.

 

Parent topic:

Is your application or system running slowly?


fa15080_


 

Home