Documente Academic
Documente Profesional
Documente Cultură
• Architecture
• Application Services Tier
• Forms
• Reports
• Concurrent Manager
• Apache
• Jserv/JVM
• Portal
• Discoverer
• Network Performance
• Data Server Tier
• Application Tuning
• 11i10 Performance Improvements
• Q&A
<Insert Picture Here>
• Forms
• Deploy with socket mode for internal users:
• connectMode=socket (appsweb.cfg)
• Enable Forms Dead Client Detection
• Value specified in minutes
• Terminates f60webmx processes for dead clients.
• FORMS60_TIMEOUT=10
• Enable Forms Abnormal Termination Handler
• Do not set FORMS60_CATCHTERM
• If you are running 11.5.10 and Jinitiator 1.3, you should
apply patch 4122271.
• Without this patch, a new Jinitiator session is open
for every form.
Application Services Tier
• Forms
• Upgrade to the latest Forms patch set (patch set 18)
• Refer to MetaLink document 125767.1 for Forms patchset
upgrades.
• Forms – Cancel Query
• Should not be enabled unless you are on Forms patchset
14 (Forms version 6.0.8.23.x or higher).
• Cancel Query increases middle-tier CPU as well as DB
CPU.
• Refer to MetaLink Note 138159.1 for instructions on how to
enable and tune Cancel query related parameters.
• To Disable Cancel Query
• Set the Profile “FND: Enable Cancel Query” to No.
Application Services Tier
• Forms
• Ensure users are optimally utilizing the professional
Forms interfaces.
• Avoid Blind queries
• Provide selective criteria in Find windows and LOVs.
• Avoid opening and closing forms across
transactions.
• Users which need to switch responsibility in order
to complete a business transaction should
instead keep the relevant Forms open.
Application Services Tier
• Forms (Tracing)
• If the form is slow, or a specific flow in the Form is slow, first
generate a complete SQL trace using the Trace menu in
Help-Diagnostics.
• If the SQL trace does not account for the majority of the
response time experienced by the user, then generate a
Forms Runtime Diagnostics (FRD) Trace.
Application Services Tier
• Reports
• Ensure users provide selective parameters to the standard
Reports.
• Review the Report output:
• Number of rows returned to the report.
• Number of report pages.
• SQL Trace can be generated at Request Submission Time
(SRS form – Debug Options) or by setting the “Enable
Trace” flag in the Concurrent Program Definition Form.
Application Services Tier
• Reports (Tracing)
• If the SQL trace for the report does not account for the
elapsed time of the request, then generate a Reports trace
by appending tracing parameters the to concurrent program
command line.
• Reports (Tracing)
• Enabling Reports Trace (pre 11i10)
• Sign-on to Apps with System Administrator responsibility
• Navigate to Concurrent -> Program -> Define
• Query the concurrent program (report) which you want to trace.
• Locate the “Options” field and enter the following values :
• TRACEOPTS=<trace option> TRACEFILE=<path/file>
• Save the concurrent program
• Run the report and a trace file will be generated.
• Remember to clear the trace options after running the report.
• Enabling Reports Trace (11i10)
• Use the Debug Options page at request submission.
Application Services Tier
• Reports (Trace Output)
Report: /u02/appl/ar/11.5.0/reports/US/ARXAGM.rdf
Logged onto server:
Username:
. . . . . . . .
• Concurrent Manager
• Avoid enabling an excessive number of standard or
specialized managers.
• Use specialization rules and work shifts to bind specific jobs
to specific time windows.
• Helps avoid scheduling resource intensive batch
requests during peak activity.
• For jobs which spawn parallel workers such as Auto Invoice
or Payroll, set the sleep time of the Conflict Resolution
Manager (CRM) to null (i.e. 10 seconds). The default value
is 60 seconds.
Application Services Tier
• Concurrent Manager
• Transaction Managers
• Used for Inventory Transactions as well as other synchronous online
processing.
• Ensure enough transaction managers exist to service the request load.
• Set the profile “Concurrent:Wait for Available TM” to 1 (second).
• Set “TP:INV Transaction processing mode” to “On-line processing” for
small inventory requests from the UI.
• Set the sleep time on the transaction managers to a high number (e.g. 10
minutes).
• Avoids constant polls to check for shutdown requests.
• Transaction Managers can also be traced.
• Pipes be gone!
• Apply RUP3 (4334965)
• Set the profile “Concurrent:TM Transport Type”
• Avoids the need to run a transaction manager instance per database
instance for RAC deployments.
Application Services Tier
• Concurrent Manager
• Enabling Tracing
• Program Level
• Enable the trace option in the concurrent program
definition form.
• Request Level (new in 11i10)
• Use the Debug Options button in the Request Submission
Form
• The profile “Concurrent: Allow Debugging” should be
set to “Yes.”
Application Services Tier
• Concurrent Manager
• Enabling Trace at the Program Level
Application Services Tier
• Concurrent Manager
• Enabling Trace at the Request Level
Application Services Tier
• Concurrent Manager
• Enabling Trace at the Request Level
Application Services Tier
• Apache
• On UNIX, Apache is process based (httpd), and mods such as
mod PL/SQL run within the process address space of the httpd
processes.
• On Windows, Apache is multi-threaded (Apache.exe).
• Tune the number of processes and number of clients (httpds.conf):
• MinSpareServers 5
• MaxSpareServers 10
• StartServers 5
• MaxClients 512
Application Services Tier
• Apache
• Minimize levels of logging (httpds.conf):
• LogLevel warn
• SSLLogLevel warn
• Enable Caching of non-HTML resources including images, style
sheets, and Java script.
• Caches content in the browser cache.
• Reduces network round-trips (non SSL)
• Reduces network bandwidth utilization (SSL)
• Included in AutoConfig templates in 11.5.8 (or higher).
Application Services Tier
• Apache
• Enable Caching of non-HTML resources (httpd.conf or apps.conf)
<Directory "<physical_path_corresponding_to_the_alias_/OA_HTML/>">
#enable the generation of the Expires header for files under /OA_HTML/
ExpiresActive On
#expire images one month after last client access
ExpiresByType image/gif "access plus 1 month"
#expire stylesheets one week after the last client access
ExpiresByType text/css "access plus 1 weeks"
#expire javascript libraries one day after the last client access
ExpiresByType text/javascript "access plus 1 days“
ExpiresByType application/x-javascript "access plus 1 day"
</Directory>
Application Services Tier
• Apache
• Review Apache Access Log file to ensure images are being
satisfied from the browser cache.
• Http code 200 (request for document)
• Http code 304 (request for time stamp)
1. For the main Listener running on Port 7000, edit the file
$IAS_HOME/Apache/modplsql/cfg/plsql.conf as follows:
Disable the mod PL/SQL service from the main listener by commenting out the
lines between the two Location parameters as follows:
# <Location /pls>
# SetHandler pls_handler
# Order deny,allow
# Allow from all
# </Location>
For the dedicated mod PL/SQL Listener running on Port 8888, configure each
DAD to override the default CGI environment variables in order to allow
redirects. Edit the file $IAS_HOME/Apache/modplsql/cfg/wdbsvr.app and add
the following line for each DAD:
cgi_env_list=SERVER_NAME=mainhost.us.oracle.com,SERVER_PORT=7000,HOST=mainhos
t.us.oracle.com:7000
Application Services Tier
Existing:
wrapper.bin=/apps/jdk/jdk1.4.2/bin/java
Change To:
Wrapper.bin=/apps/scripts/java.sh
java.sh:
=========
DiscoGroup.0.stderr
DiscoGroup.0.stdout
FormsGroup.0.stderr
FormsGroup.0.stdout
OACoreGroup.0.stderr
OACoreGroup.0.stdout
XmlSvcsGrp.0.stderr
XmlSvcsGrp.0.stdout
Application Services Tier
HPjtune Tool
Application Services Tier
• JDBC Connections
• Process Identification (V$SESSION)
• Specify the property –DCLIENT_PROCESSID in the JVM
startup shell script.
• Set automatically in 11i10.
Existing:
wrapper.bin=/apps/jdk1.4.2/bin/java
Change To:
Wrapper.bin=/apps/scripts/java.sh
java.sh:
=========
#!/bin/sh
/apps/jdk1.4.2/bin/java -verbosegc -DCLIENT_PROCESSID=$$ $* >> /d2/logs/java.log
Application Services Tier
• JDBC Connections
• Process Identification (V$SESSION)
• Allows you to map the JDBC session from v$session to a
particular JVM process.
• Set automatically in 11i10
visualGC Tool
D E M O N S T R A T I O N
jconsole Tool
Application Services Tier
root.properties:
servlet.oracle.jsp.JspServlet.initArgs=translate_params=true,
unsafe_reload=false,
page_repository_root=/appl_top/115/common/html/jsp/pagecache,
alias_translation=true,developer_mode=false,
javaccmd=/usr/jdk142/bin/javac,send_error=true
Application Services Tier
• Portal Tuning
• Tune the number of content fetcher threads for PPE (poolSize).
Default is 25.
• Adjust the fetch request timeout (requesttime).
• Adjust the fetch connection request timeout (stall).
zone.properties:
servlet.page.initArgs=poolSize=50
servlet.page.initArgs=requesttime=200
servlet.page.initArgs=stall=100
Application Services Tier
• Portal Tuning
• Ensure that the mod PL/SQL cache is enabled and sized
appropriately:
$APACHE_TOP/modplsql/cfg/cache.cfg:
[PLSQL Cache]
enabled=yes
total_size=100000000
cleanup_size=75000000
cleanup_interval=86400
;
[Cookie Cache]
enabled=yes
total_size=25000000
cleanup_size=15000000
cleanup_interval=86400
max_size = 0
Application Services Tier
• Use the ping command to determine the latency of requests. Vary the
packet size to determine the average latency. Do not use the default ping
packet size of 32 bytes.
• Use the ping command to determine the latency between the application
server and the data server. Use a packet size of 2K since this the default
size for SQL*Net traffic.
300000
253,771
250000
200000
iAS
150000
iAS +
100000 65,592 WebCache
50000
0
Bytes
Network Performance
120
104
100
80
iAS
60
iAS +
40 29 WebCache
20
0
TCP Turns
Network Performance
R e s p o n s e T im e
7 0 .0
5 8 .7
6 0 .0
5 3 .3
5 0 .0
4 0 .0
Seconds
iA S
W ebCac he
3 0 .0
2 3 .1
22.0
2 0 .0
1 3 .2
1 1 .7
9 .0 8.5
1 0 .0
0 .0
L a n -1 0 0 DS L - 512 IS D N - 6 4 D ia lu p - 5 6
M bps K bps K bps K bps
<Insert Picture Here>
. . . . . . . . . . . .
Data Server Tier
----------------------------------------------------------------------------------------------------
Column Stats
Column name sample_size num_distinct num_nulls density last analyzed
----------------------------------------------------------------------------------------------------
ACCOUNTING_RULE_DURATION 0 37219060 0 12-03-2004 22:51
ACCOUNTING_RULE_ID 1882057 72 18398490 .013888888 12-03-2004 22:34
. . .
BOOKED_FLAG 3724692 2 0 .5 12-03-2004 22:51
. . .
CANCELLED_FLAG 3724692 2 0 .5 12-03-2004 22:51
. . .
LINE_ID 3721906 37219060 0 .000000026 12-03-2004 22:34
LINE_NUMBER 3721906 5649 0 .000177022 12-03-2004 22:34
LINE_SET_ID 10420 18873 37114860 .000052985 12-03-2004 22:34
OPTION_NUMBER 1350665 1176 23740270 .00085034 12-03-2004 22:51
ORDERED_ITEM_ID 3210194 50265 5117120 .000019894 12-03-2004 22:34
UPGRADED_FLAG 3125945 2 5987470 .5 12-03-2004 22:51
VEH_CUS_ITEM_CUM_KEY_ID 0 37219060 0 12-03-2004 22:34
VISIBLE_DEMAND_FLAG 668876 2 30558160 .5 12-03-2004 22:51
Data Server Tier
• Enable the Auto memory manager
• Pga_aggregate_target can be set to tune the PGA for the entire instance.
• Automatically tunes hash area and sort area sizes
• Returns unused memory to the OS.
• Enable System Managed Undo
• No more ORA-1555s!!!
• Set undo_retention to the length of the longest running request.
• Utilize Auto Segment Tablespace Management
• No need to manually set Freelist/freelist groups. A bitmap is used to
automatically scale the segment related parameters.
• Enable PL/SQL Native Compilation
• Improves PL/SQL execution performance.
• Improves scalability by removing a lot of stress off of the shared pool.
Data Server Tier
• Transaction tables
• Transaction indexes
• Reference/SEED
• Interface
• Summary Management
• Archive
• NoLogging
• Queue
• Media
• Temporary
• Undo
• System
• Total = 12 Tablespaces
Data Server Tier
• OA Framework Applications
• Refer to MetaLink note 123456.1 (Recommended Patches for
Applications) and MetaLink note 275880.1 (Framework Roadmap).
• JDBC Connection Pool
• Upgrade to the latest 9iR2 JDBC Drivers
• MetaLink note 164317.1
• ARU 4201222 (9.2.0.6 JDBC Drivers)
Application Tuning
Pool Monitor
Application Tuning (OA)
• Web Applications
• Ensure the users are trained to use the Logout or Home
global buttons when completing their transactions.
• Do not train them to use the browser close (“x”) link.
• Logging out gracefully releases the memory and
corresponding resources (i.e. connections, etc..)
• Avoids memory leaks and timeout based invalidation.
Application Tuning
• Logging
• FND: Debug Log Enabled
• Prior to RUP3: Set it to No.
• RUP3 and beyond: Set it to Yes.
• FND: Debug Log Level
• Should be set to Unexpected (Level=6)
• Query fnd_log_messages to determine the logging traffic.
• If the profiles are set as recommended above, you should not
see many messages logged.
• If the query shows a large number of rows being created,
there could be exceptions and errors which need to be
investigated.
Application Tuning
• Profiles
• Set the frequently referenced profiles at the User level to
avoid additional level checks. The check hierarchy is as
follows:
• Session
• User
• Organization
• Server
• Responsibility
• Application
• Site
• Example: Set the profile “INV: Debug Trace” to “No” at the
user level.
Application Tuning (OA)
APPS_JDBC_URL=jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(LOAD_BALANCE=ON)
(ADDRESS=(PROTOCOL=TCP)(HOST=ap201ops)(PORT=1526))(ADDRESS=(PROTOCOL=TCP)(HO
ST=ap202ops)(PORT=1526)))(CONNECT_DATA=(SERVICE_NAME=opsperf)))
Application Tuning
• AOLJ Connection Pool Monitoring
• Use the JSP (AoljDbcPoolStatus.jsp) to monitor the connection pool
status.
• Lists DBC configuration parameter settings.
• Connection Statistics
• Locked Connections
• Available Connections
• Closed Connections
• Allows drill-downs to determine source of the connection.
• http://apptier.oracle.com:1200/OA_HTML/jsp/fnd/AoljDbcPoolStatus.jsp
Application Tuning
• Connection Pool Status (AoljDbcPoolStatus.jsp)
Application Tuning
• Purging
• Implement a regular purge process including transient data as
well as obsolete transactional data.
• Archive system related entities prior to purge such as
• FND_CONCURRENT_REQUESTS
• ICX_SESSIONS
• Purge old data before performing upgrades.
Application Tuning
• Purging
Product Concurrent Program Name
11i10 Enhancements
11i10 Tracing Improvements
• FND_STATS Improvements:
• No invalidate option can be used to avoid invalidating cursors while
gathering statistics.
• Auto Gather has been added to allow statistics to be gathered only on
those objects which have changed.
• Change threshold is configurable.
• Default is 10%.
• Significantly reduces the time to gather statistics.
• Improves manageability as FND_STATS automatically determines
changed object list.
• Maintain history of all gather stats requests.
• Automatically determines degree of parallelism.
11i10 Performance Improvements
Note #: Description: