Professional Documents
Culture Documents
Design Benchmarks
Run Benchmarks Analyze Benchmarks Adjust the core configuration Adjust add-on configuration
General Issues
HELP!! My Content Server is Slow
Searching Batchloading / Contribution Page Rendering (HSCP, JSP, ASP) Publishing
Basic benchmarks can be quick and painless Thorough benchmarks can be slow and painful
Complex
Mercury LoadRunner Java Profilers Perl / Python scripts PamIE, SamIE, WWW::Mechanize
Apache mod_log_config
Customize logs to record page response time Prioritize effort on popular pages
Network analysis
Ethereal/Wireshark trafshow tracert / traceroute
Tracing output
oracle/bin/IdcServerNT.log (Windows) oracle/etc/log (Unix) System Audit Info tracing sections: indexer, pagecreation, requestaudit socketrequests, searchquery systemdatabase, userstorage
3) Analyze Benchmarks
Review benchmarks
Read, Analyze, Read, Analyze Time required to run batch tests Requests per second per user for web tests
at intradoc.indexer.Indexer.doIndexing(Unknown Source) at intradoc.indexer.Indexer.buildIndex(Unknown Source) Hint: intradoc.server.IndexerMonitor.doIndexing(Unknown Source) at at intradoc.server.IndexerMonitor$4.run(Unknown queries Monitor searchquery tracing for timestamps onSource)
Hint:
Monitor searchquery tracing for timestamps on queries Compare with running the query directly on the database
PICK TWO
Note: some remote file system problems indicate an underlying network problem
Database
Local Remote Remote Remote Remote Remote Remote Remote Remote
Slowest
Remote
Hint:
Monitor verbose userstorage trace for timestamps Note: stack traces are not always errors in this section
2. Run Benchmarks
3. Analyze Benchmarks 4. Adjust the core configuration
Configuration, caching, database, and verity
4) Adjust Core
Easy:
Configuration flags Java VM tuning
Difficult:
IdocScript caching and tuning Simplify security model
Harder:
Verity Index Tuning Database Indexes and tuning (OracleQueryOptimizer)
Search
MaxSearchConnections, CachedResultRowCount
Database
NumConnections Only increase for testing can have opposite effect
General
UserCacheTimeout, IdcServerSocketQueueDepth
JAVA_MAX_HEAP_SIZE=[Size in megabytes]
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
User input:
dDocName <matches> `test`
Leverage zone search on common fields Avoid automatically adding every field to index Tune the number of parts file
Many parts, fast search; Few parts, fast index
Plan ahead!
Adding metadata fields requires an index rebuild Use dummy or non-indexed fields, or database search
Add extra indexes to commonly searched columns Update database statistics as a database grows
Before & after inserting lots of content Maintains indexes, helps query optimizer
2. Run Benchmarks
3. Analyze Benchmarks 4. Adjust the core configuration 5. Adjust add-on configuration
Conversion, publishing, J2EE, and other extras
5) Adjust Add-ons
Batchloader Dynamic Converter Site Studio PDF Converter Content Tracker CIS
Optimize the search collection (if using Verity) prior to batch insert. Analyze your database usage during a batchload. Goal is to help the database query optimizer.
Oracle: ANALYZE TABLE COMPUTE STATISTICS SQL Server: CREATE STATISTICS DB2: RUNSTATS
10gR3 Refinery is another Content Server Separate the refinery machine from content server machine Run multiple refineries and make use of selective queue processing Analyze formats being used and adjust rules
Professional Services
Oracle Professional Services is best suited to assist with performance issues Oracle Support is not capable of analyzing and tuning of performance issues
Support can assist with pointing customers in general direction Support can initiate the request for Consulting Services
Questions?
Visit Oracle.com for more detail.
Thank you!