Chapter 8. Tuning DB2 for Content Manager 249
By setting LOGSECOND to -1, you will have no limit on the size of the unit of
work or the number of concurrent units of work. However, rollback (both at the
savepoint level and the unit of work level) could be very slow due to the need to
retrieve log files from the archive. Crash recovery could also be very slow for the
same reason. DB2 will write a message to the administration notification log to
warn you that the current set of active units of work has exceeded the primary log
files. This is an indication that rollback or crash recovery could be extremely slow.
Default values (range)
2 (-1; 0 - 254)
To update
Run the following DB2 command:
db2 update db cfg for <database name> using LOGSECOND <parameter value>
Our recommendation
The Content Manager installation program changes this value to 20 for Library
Server database and to 50 for Resource Manager database
In general, keep the default values.
Secondary log files do not require permanent file space, so there is not need to
change these values. If secondary log files begin to be used more frequently,
think about changing the values of LOGFILSIZ or LOGPRIMARY parameters.
8.6.38 Minimum commits before writing logs to disk (MINCOMMIT)
Impact
DB - High
Description
This parameter enables you to delay the writing of log records to disk until a
minimum number of commits has been performed. This delay helps to reduce the
database manager overhead associated with writing log records. As a result, this
might improve performance when you have multiple applications running against
a database, and many commits are requested by the applications within a very
short time frame.
This grouping of commits occurs when the value of MINCOMMIT is greater than 1
and when the number of applications connected to the database is greater than or
equal to the value of this parameter. When commit grouping is being performed,
application commit requests could be held until either one second has elapsed or
the number of commit requests equals the value of this parameter. If there is not
250 Performance Tuning for Content Manager
enough transaction work to do, the database manager will commit transactions
every second. Changes to the parameter value take effect immediately. There is
no need to wait until all applications are disconnected from the database.
Default values (range)
1 (1 - 25)
To update
Run the following DB2 command:
db2 update db cfg for <database name> using MINCOMMIT <parameter value>
Our recommendation
Use the default.
If you need to perform a large initial load operation prior to launching a new
Content Manager system, increasing this value temporarily will help reduce
logging file I/O.
In general, if your application requires large concurrent write activities, simple
SQL statements to process, and single row updates (such as daily load
operation), you might want to increase the default value. This will result in more
efficient logging file I/O from occurring less frequently, and will write more log
records each time it does occur.
Grouping the commits might compromise response time of small transactions,
because they have to wait until the minimum number of transactions is ready to
be committed.
You could also sample the number of transactions per second and adjust this
parameter to accommodate the peak number of transactions per second (or
some large percentage of it). Accommodating peak activity would minimize the
overhead of writing log records during transaction-intensive periods.
If you increase MINCOMMIT, you might also have to increase the LOGBUFSZ
parameter to avoid having a full log buffer force a write during these
transaction-intensive periods. In this case, the LOGBUFSZ should be equal to:
MINCOMMIT * (log space used, on average, by a transaction)

Get Performance Tuning for Content Manager now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.