Chapter 5. Tuning iSeries for a WebSphere or Java environment 183
better performance to pools with poor performance. Continue to move the storage to the
pool with poor performance until performance improves. Do not decrease a pool by more
than 10% at one time.
8. If you cannot achieve a good performance by balancing the memory between the pools,
consider adding more memory or even a more powerful processor to the system.
Enabling Expert Cache
Expert Cache is a function that is shipped with the operating system. Using it may improve
your systems performance noticeably, especially if your applications access data sequentially.
When using Expert Cache, the operating system dynamically determines which objects or
portions of objects should remain in a shared main storage pool based on the reference
patterns of data within the object. It also determines which objects should have larger blocks
of data brought into main storage. The decision is based on how frequently the object is
accessed. If the object is no longer accessed heavily, the system automatically makes the
storage available for other objects that are accessed. If the newly accessed objects become
heavily accessed, the objects have larger blocks of data placed in main storage. The system
automatically determines the best approach for handling data in the memory pool based on
the following criteria:
If many threads are running in a small memory pool, the system limits the amount of
memory used by each thread.
If the memory pool for those threads has enough memory, the system determines (object
by object) how much data to bring into the memory pool.
If objects are referred to sequentially, the system brings larger blocks of data into memory
and delays writing changes of the data. This reduces the number of I/O operations issued
by the job and reduces the contention for disk drives, which, in turn, reduces the time that
jobs wait on I/O requests.
If objects are referred to randomly, the system does not bring in large blocks of data
because that does not reduce the number of I/O operations.
Enabling Expert Cache is easy:
1. Enter the WRKSYSSTS command.
2. Press F11 for paging data.
3. Replace *FIXED with *CALC for the required pool or pools.
5.3.6 Working with the prestart jobs
A prestart job is a batch job that starts running before a program on a remote system sends a
program start request. Prestart jobs are different from all the other jobs because they use
prestart job entries to determine which program, class, and memory pool to use when they
are started. Within a prestart job entry, you specify attributes that the subsystem uses to
create and manage a pool of prestart jobs.
The prestart jobs QSQSRVR and QZDASOINIT perform Java Database Connectivity (JDBC)
access to DB2 Universal Database (UDB) for iSeries. The native JDBC functions are carried
out by the QSQSRVR jobs running on QSYSWRK, where IBM Toolbox uses the QZDASOINT
jobs that are running on QUSRWRK subsystem.
Make sure that these server jobs have the resources that they need when they need them.
Otherwise users will experience bad response times or even time outs. The easiest way to
provide these server jobs with the memory and activity level is to direct these jobs to a
memory pool that no other jobs are using. We use the QSQSRVR jobs here as an example,
but you may use the same approach with the QZDASOINIT jobs.