This parameter represents the number of threads cached
in each db2fmp process for threaded db2fmp processes
(processes serving threadsafe stored procedures and UDFs). For non-threaded db2fmp processes,
this parameter represents the number of processes cached.
- Configuration type
- Database manager
- Applies to
-
- Database server with local and remote clients
- Database server with local clients
- Partitioned database server with local and remote clients
- Parameter type
- Configurable online
- Default [range]
- -1 (max_coordagents), Automatic [-1; 0-64
000]
- Unit of measure
- Counter
Restrictions:- If this parameter is updated dynamically, and the value is decreased,
the database manager does not proactively terminate db2fmp threads
or processes, instead it stops caching them as they are used in order
to reduce the number of cached db2fmp's down to the new value.
- If this parameter is updated dynamically, and the value is increased,
the database manager caches more db2fmp threads
and processes when they are created.
- When this parameter is set to -1, the default,
it assumes the value of the max_coordagents configuration
parameter. Note that only the value of max_coordagents is
assumed and not the automatic setting or behavior.
- When this parameter is set to AUTOMATIC, also
the default:
- The database manager allows the number of db2fmp threads
and processes cached to increase based on the high water mark of coordinating
agents. Specifically, the automatic behavior of this parameter allows
it to grow depending on the maximum number of coordinating agents
the database manager has ever registered, at the same time, since
it started.
- The value assigned to this parameter represents a lower bound
for the number of db2fmp threads and process to
cache.
Recommendation: If your environment uses fenced
stored procedures or user defined functions, then this parameter can
be used to ensure that an appropriate number of db2fmp processes
are available to process the maximum number of concurrent stored
procedures and UDFs that run on the instance, ensuring that no new
fenced mode processes need to be created as part of stored procedure
and UDF execution.
If you find that the default value is not
appropriate for your environment because an inappropriate amount of
system resource is being given to
db2fmp processes
and is affecting performance of the database manager, the following
procedure might be useful in providing a starting point for tuning
this parameter:
fenced_pool = # of applications allowed to make stored procedure and
UDF calls at one time
If keepfenced is
set to YES, then each db2fmp process
that is created in the cache pool will continue to exist and will
use system resources even after the fenced routine call has been processed
and returned to the agent.
If keepfenced is
set to NO, then non-threaded db2fmp processes will
terminate when they complete execution, and there is no cache pool.
Multithreaded db2fmp processes will continue to
exist, but no threads will be pooled in these processes. This means
that even when keepfenced is set to NO,
you can have one threaded C db2fmp process and
one threaded Java™ db2fmp process
on your system.
In previous versions, this parameter was known
as maxdari.