4
Optimizing PLSQL Performance 4-1
4
Optimizing PLSQL Performance
This chapter discusses the techniques for improving PLSQL performance in Oracle HTTP Server.
This chapter contains the following sections:
■
PLSQL Performance in Oracle HTTP Server - Overview
■
Process-Based and Thread-Based Operation in Oracle HTTP Server
■
Performance Tuning Issues in mod_plsql
■
Tuning File System Cache to Improve Caching Performance
■
Oracle HTTP Server Directives
4.1 PLSQL Performance in Oracle HTTP Server - Overview
This section describes several techniques to improve the performance of PLSQL based Web applications in Oracle HTTP Server.
Table 4–1 lists recommendations for Database Access Descriptor DAD parameters
and settings. By default, these DAD parameters are specified in the file dads.conf. On UNIX systems, this is in the ORACLE_INSTANCEconfigOHSohs1mod_
plsql directory. On Windows systems, by default, this file is in the ORACLE_ INSTANCE\config\OHS\ohs1\mod_plsql directory. The file dads.README in
this directory describes the DAD parameters in detail.
Table 4–1 Database Access Descriptor DAD Parameters Recommended Setting Summary
Parameter Recommended Setting
PlsqlAlwaysDescribeProcedure Set this to off for best performance.
Default Value: off PlsqlDatabaseConnectString
For newer DADs, use the ServiceNameFormat. Use the SIDFormat only for backward compatibility.
Note: For HA configurations of the database, it is recommended
that the connect string parameter gets resolved through an LDAP lookup.
PlsqlFetchBufferSize For multibyte character sets like Japanese or Chinese, setting this
to 256 should provide better performance Default Value: 200
4-2 Oracle Fusion Middleware Users Guide for mod_plsql
Table 4–2 lists mod_plsql caching options and the sections that describe these caching
options. PlsqlIdleSessionCleanupInterval
Increasing this parameter allows pooled database connections to remain available, in the pool, for the specified time
Default Value: 15 minutes
See Also: Section 3.11.3, Detecting Dead Database Connections
in a Connection Pool PlsqlLogEnable
This parameter should be set to Off unless recommended by Oracle support for debugging purposes
Default Value: off PlsqlConnectionValidation
This parameter specifies the option mod_plsql should use to detect dead connections in its connection pool. The different
options are:
■
Automatic - mod_plsql tests all pooled database connections created before the detection of a failure that
could indicate an instance failure.
■
ThrowAwayOnFailure - mod_plsql discards all pooled database connections created before the detection of a failure
that could indicate an instance failure.
■
AlwaysValidate - mod_plsql always tests all pooled database connections before issuing a request.
Important: Since this option has an associated performance
overhead for each request, this should be used with caution.
■
NeverValidate - mod_plsql will never ping any pooled database connection.
Default Value: Automatic
See Also: Section 3.11.3.1, Specifying the Option to Detect Dead
Database Connections .
PlsqlConnectionTimeout This parameter specifies the timeout in milliseconds for testing a
connection pooled in mod_plsql. Default Value: 10000
See Also: Section 3.11.3.2, Specifying the Timeout Period
. PlsqlMaxRequestsPerSession
If the PLSQL based Web application does not leak resources or memory, this parameter can be set to a higher value for example,
5000. Default Value: 1000
See Also:
Section 3.11.2, Closing Pooled Database Sessions and
Section 4.3.2, Connection Pooling Tips and Oracle HTTP Server Configuration
. PlsqlNLSLanguage
Set this parameter to match the database Globalization Support parameters to eliminate overheads in character set conversions in
Oracle Net Services PlsqlSessionStateManagement
Set this parameter to StatelessWithFastResetPackageState if the database is
8.1.7.2 or later.
Table 4–1 Cont. Database Access Descriptor DAD Parameters Recommended Setting Summary
Parameter Recommended Setting
Optimizing PLSQL Performance 4-3
4.2 Process-Based and Thread-Based Operation in Oracle HTTP Server