Performance tuning involves - Determining measurable goals of performance - Translating the goals into observable metrics for components - Regular monitoring of metrics - Evolving optimization techniques - Implementing the appropriate tuning solution. IHAT is a monitoring tool that provides a graphic snapshot of all processes managed by OPMN: - Grid View: Provides status of all OracleAS instances in a single window - instance View: monitors routing relationships between OC4J and OHS.
Performance tuning involves - Determining measurable goals of performance - Translating the goals into observable metrics for components - Regular monitoring of metrics - Evolving optimization techniques - Implementing the appropriate tuning solution. IHAT is a monitoring tool that provides a graphic snapshot of all processes managed by OPMN: - Grid View: Provides status of all OracleAS instances in a single window - instance View: monitors routing relationships between OC4J and OHS.
Performance tuning involves - Determining measurable goals of performance - Translating the goals into observable metrics for components - Regular monitoring of metrics - Evolving optimization techniques - Implementing the appropriate tuning solution. IHAT is a monitoring tool that provides a graphic snapshot of all processes managed by OPMN: - Grid View: Provides status of all OracleAS instances in a single window - instance View: monitors routing relationships between OC4J and OHS.
After completing this lesson, you should be able to do
the following: • Describe Oracle Application Server performance methodology • Monitor and tune the performance of Oracle HTTP Server (OHS) • Monitor and tune performance of OC4J processes and applications • Monitor and tune the performance of OracleAS Web Cache • Monitor and tune OracleAS Forms Services
– Determining measurable goals of performance – Translating the goals into observable metrics for components – Regular monitoring of metrics – Evolving optimization techniques – Implementing the appropriate tuning solution • Some of the parameters used in evaluating performance are: – Response Time, System Throughput, Wait Time • Periodic monitoring helps in anticipating and overcoming performance challenges.
Monitoring the Performance of Oracle Application Server
• The Oracle Application Server performance
metrics are measured automatically and continuously. • These metrics can be accessed using the Application Server Control. • Application Server Control is the central tool to configure, manage monitor and tune the components of Oracle Application Server. • Other tools such as dmstool
• iHAT is a monitoring tool that provides a graphic
snapshot of all processes managed by OPMN: – Grid View: Provides status of all OracleAS instances in a single window – Instance View: Provides the complete process topology view of Oracle Application Server – Routing View: Monitors routing relationships between OHS and OC4J • To invoke iHAT, use the command: java –jar ihat.zip <host>:<port> For example: java -jar ihat.zip edcdr2p1:6003 • A full list of iHAT options can be obtained with: java -jar ihat.zip -h
Oracle Application Server also provides the following
monitoring tools: • AggreSpy – A prepackaged servlet that reports performance metrics – Reports performance data for an OracleAS instance – Can be used only when the home OC4J component is active • dmstool – Is located in the $ORACLE_HOME/bin directory – Allows you to monitor a specific, a set, or all performance metrics – Allows you to specify a reporting interval
– Is the preferred tool for management and monitoring – Is capable of enterprisewide monitoring – Includes detailed as well as summarized information as required • AggreSpy can be used: – For monitoring OC4J and OHS only – To obtain detailed information about specific component • dmstool: – Command Line tool – Useful for support
– Assessing the workload – Investigating Oracle HTTP Server errors – Categorizing Oracle HTTP Server problems • Use the Performance region to drill down to detailed monitoring. • When assessing work load, ensure that you are assessing a representative load.
Categorized Monitoring with Application Server Control
• Application Server Control allows you to analyze
the performance metrics in three categories: – Module Metrics – Virtual Host Metrics – Child Server Metrics • This categorization enables you to isolate performance bottlenecks and fix them.
• connection pooling • Maximum and minimum open connections • Cached connection inactivity timeout • Wait for free connection timeout • Connection retry interval • Maximum number of connection attempts • JDBC statement cache size
• max-connections is the upper limit of number connections to data source • cacheScheme determines how max-connection is interpreted • Default cacheScheme is DYNAMIC_SCHEME • min-connections is the level of connections maintained • inactivity-timeout specifies the time out for inactive connections • wait-time specifies the time to wait for obtaining data source connection
1. Monitor the load on your server with respect to:
– The metric serviceRequest.avg – The metric processRequest.avg 2. Watch for unused sessions observing: – sessionActivation.active – sessionActivation.completed – session-timeout 3. Watch for slow servlet loading – Enable load-on-startup for servlets that require extra time to load.
• Servlet classes are loaded when the first request
is made. • This can imply varying performance for requests. • The load-on-startup facility enables classes to load when the application starts up. • You can use the Application Server Control to specify if a Web module is loaded at start up.
• Using the JESI and the Web Object Cache tag library • Tuning JSP code The administrator can improve JSP performance by: • Changing JSP parameters • Using the main_mode parameter
controls the way run time operation is performed. • recompile: This is the default value. The dispatcher will check the timestamp of the JSP. Retranslate and execute all reload if the timestamp is different. • reload: The dispatcher will check if any classes have been modified since loading. Reload if the timestamp is different. • justrun: The dispatcher will not check if any classes have been modified since loading.
time taken for a transaction to finish before it is rolled back due to a timeout. • The default value for this parameter is 60,000 milliseconds (60 seconds). • The timeout should be set to a value greater than or equal to the timeouts used within individual transactions.
• OC4J specific attributes applying to all EJB are
stored in orion-ejb-jar.xml. • The parameter call-timeout specifies maximum time to wait before calling the EJB method. • Default call-timeout for entity bean is 900000 ms and for session beans 0 (always). • The parameter max-tx-retries specifies the number of times to retry a transaction. • The default max-tx-retries is three for both session and entity beans.
for EJB modules. • cache-timeout: Time for which inactive stateless session bean remains in the pool • call-timeout: Time to wait for an EJB • copy-by-value: To copy all parameters in EJB calls • max-tx-tries: Number of times to retry a failed transaction • persistence-filename: File in which session details are stored for use across server restarts
Some of the factors that affect the caching efficiency
are: • Available resources: Memory and bandwidth • Latency • Response time • Web Cache size • Size of documents • Cacheability rules • Frequency of invalidation and nature of content • Personalization and versions
– Keep-Alive Timeout for Browser – default 5 seconds – Origin Server Timeout – default 3600 seconds • Keep Alive Timeout and Keep Alive need to be configured for the Browser and Web Cache. • Tune time outs based on the load tests.
consider following factors: • The number of concurrent clients to serve • The average size of a page and the average number of requests for page • Network bandwidth • How quickly a page is processed
• Cacheability rules determine if a document is to be
cached • Memory for document body is allocated in – 4KB chunks if the document size is less than 4KB – 32KB chunks otherwise • HTTP response headers use 4KB
• Use basic invalidation requests for invalidating single object • Use substring matching for invalidating multiple objects in advanced invalidations • Use invalidation indexes to improve performance of content traversal
substring matching do the following: 1. Specify the OTHER element in a manual invalidation request that uses the ADVANCEDSELECTOR element. 2. Specify the NAME attribute to use a value of URI, BODY, or QUERYSTRING_PARAMETER. 3. Specify the TYPE attribute to use a value of SUBSTRING.
QUERYSTRING_PARAMETER, then index would be helpful. • Using index, Web Cache categorizes objects in cache, and performs faster lookup. • To specify an invalidation index, add an INVALIDATIONINDEX element to the webcache.xml.
quick connections at server peak times. • Set prestartRuntimes to true to enable run-time pooling and pre start. • Specify the number of run-time executables to be prespawned with the parameter initialRuntimes. • Set the timeOut to 0 if you want all the spawned executable to exist even when inactive. • Set the minRuntimes to the number of spawned executables to exist even when inactive.
following: • Describe the performance methodology • Monitor and tune the performance of Oracle HTTP Server (OHS) • Monitor and tune performance of OC4J processes and applications • Monitor and tune the performance of OracleAS Web Cache • Monitor and tune OracleAS Forms Services