Dec 2008 - Content Server Performance Tuning
Dec 2008 - Content Server Performance Tuning
Dec 2008 - Content Server Performance Tuning
• Design Benchmarks
• Run Benchmarks
• Analyze Benchmarks
1. Design Benchmarks
Gather setup and usage information
2. Run Benchmarks
3. Analyze Benchmarks
• Speed is Relative
• Need something to compare against
1) Design Benchmarks - Intro
1. Design Benchmarks
2. Run Benchmarks
Tools, execution, logging
3. Analyze Benchmarks
• Complex
• Mercury LoadRunner
• Java Profilers
• Perl / Python scripts
• PamIE, SamIE, WWW::Mechanize
2) Run Benchmarks – Specific Tools
• Apache mod_log_config
• Customize logs to record page response time
• Prioritize effort on popular pages
• Network analysis
• Ethereal/Wireshark
• trafshow
• tracert / traceroute
2) Run Benchmarks – Setup and
Execution
• Tracing output
• oracle/bin/IdcServerNT.log (Windows)
• oracle/etc/log (Unix)
• System Audit Info tracing sections:
indexer, pagecreation, requestaudit
socketrequests, searchquery
systemdatabase, userstorage
2) Run Benchmarks – Pitfalls
• Adjustments
• Best-case: turn off logging, don’t allow contribution
• Bad-case: turn off search cache
• Worst-case: run batch and web tests simultaneously
1. Design Benchmarks
2. Run Benchmarks
3. Analyze Benchmarks
Find possible bottlenecks and retest
• Review benchmarks
• Read, Analyze, Read, Analyze
• Time required to run batch tests
• Requests per second per user for web tests
• What is slow?
• Hint:
• Monitor searchquery tracing for timestamps on queries
• Compare with running the query directly on the database
3) Analyze Benchmarks – Core
Engine / Java VM Bottleneck Clues
•FAST
• File system is remote, but not high-performance
• SAN: Very fast, expensive, long setup
•RELIABLE
• NAS: Slower, cheaper, easy setup
•CHEAP
• Larger than expected file activity
• Monitor I/O reads, and I/O read Bytes
• File system is nearing capacity
PICK TWO
• Hint:
• Note: some remote file system problems indicate an
underlying network problem
3) File System Architecture
Performance Location
Web File Database
Server System
Fastest Local Local Local
• Hint:
• Monitor verbose userstorage trace for timestamps
• Note: stack traces are not always errors in this section
3) Analyze Benchmarks - Pitfalls
1. Design Benchmarks
2. Run Benchmarks
3. Analyze Benchmarks
• Difficult:
• IdocScript caching and tuning
• Simplify security model
• Harder:
• Verity Index Tuning
• Database Indexes and tuning (OracleQueryOptimizer)
4) Adjust Core – Config Flags
• Indexer (Verity)
• AdditionalIndexBuildParams, DoAutoMaxMerge,
MaxMergeBaseCount, TimeoutPerOneMegInSec
• Search
• MaxSearchConnections, CachedResultRowCount
• Database
• NumConnections
• Only increase for testing can have opposite effect
• General
• UserCacheTimeout, IdcServerSocketQueueDepth
4) Adjust Core – Java Tuning
• Simplify pages
• Some pages needlessly do multiple requests
• Reduce number and complexity of queries
• Avoid queries that don’t cache, such as timestamps
• cacheInclude
• Include a dynamichtml fragment from a cache
• For fragments that are used multiple times
• Global cache, named cache, or session cache
• setMaxAge
• Uses Cache-Control HTTP header for page caching
• For pages that one uses hits frequently
4) Adjust Core – Simplify security
• Searches attach security clause
• The more complex the security, the longer the query
• In general, longer queries take longer to run
• Worst performance will be from users with mixed security
• User input:
• dDocName <matches> `test`
2. Run Benchmarks
3. Analyze Benchmarks
• Batchloader
• Dynamic Converter
• Site Studio
• PDF Converter
• Content Tracker
• CIS
5) Adjust Add-ons - Batchloader
Oracle Content Tracker monitors content and server access and performs data
extraction to populate a database repository. The data is then viewable through
out of the box reports, as well as standalone reporting tools (e.g. Crystal Reports).
• Cordell Melgaard
Principal Technical Support Engineer
Global Customer Service
• cordell.melgaard@oracle.com
• Jason Ganske
Principal Technical Support Engineer
Global Customer Service
• jason.ganske@oracle.com
• Thank you!