Using Multithreaded Mode
This section discusses MDEX Engine performance in multithreaded mode.
Copyright ©
Legal Notices
Guided Search Performance Tuning Guide
Documentation Home
Feedback
Highlighting
Prev
Up
Next
Contents
Search
Preface
About this guide
Who should use this guide
Conventions used in this guide
Contacting Oracle Support
Assembler Performance Tuning
Hardware and Memory Requirements for Best Assembler Performance
Latency
Assembler Deployment Models
MDEX Engine Performance Tuning
Before You Begin
About the Dgraph
Important concepts
System Characteristics and Hardware
MDEX Engine architecture and performance
Hardware architecture diagram
Resource utilization
Storage locality
Unified Dgraph cache
Stateless architecture combined with load balancing
Multithreaded mode
64-bit architecture
Storage considerations
Locally attached RAID storage (RAID 5/6, RAID 10, or RAID 0)
SAN-backed network-attached storage
Memory considerations
About Dgraph process memory usage
Memory usage recommendations for optimizing performance
Dgraph virtual memory vs. RAM: use cases
Solutions for memory-based Dgraph performance problems
About the Dgraph cache
About the File System Cache
Some recommended ways to tune cache for best performance
Warming the Dgraph cache after an update
The Dgraph cache and its impact on virtual process size
Example: Adjusting the Dgraph cache
Estimating the MDEX Engine RAM requirements
Impact of the MDEX Engine cache on WSS
Impact of partial updates on WSS
Impact of sorting strategies on WSS
Impact of in-flight data on WSS
Recommendations for estimating projected RAM requirements
Network considerations
Dgidx performance recommendations
RAM and disk swap size recommendations
Troubleshooting tips for Dgidx
Operating system considerations
Windows 2008 performance considerations
VMware performance considerations
Supported guest operating systems
Configuration guidelines
Performance expectations
Additional performance recommendations
Linux considerations
About the read_ahead_kb kernel parameter
Tuning the read_ahead_kb kernel parameter
Changing the I/O scheduler on RHEL 5
Disabling the swap token timeout on RHEL 5
Load balancer considerations
Load balancing and session affinity
High availability considerations
Using Multithreaded Mode
About multithreaded mode
Benefits of multithreaded MDEX Engine
The MDEX Engine threading pool
Configuring the number of MDEX Engine threads
When to increase the number of threads
Multithreaded MDEX Engine performance
Recommended threading strategies and OS platform
Multithreaded MDEX Engine on Linux and Solaris
Multithreaded MDEX Engine on Windows
Multithreaded MDEX Engine on VMware
Diagnosing Dgraph Problems
Information you need
System state characteristics
Performance tools overview
The MDEX Engine request log
The MDEX Engine Statistics page
The MDEX Engine Auditing page
The Request Log Analyzer
Eneperf
Dgraph performance issues
Improving the speed of Dgraph startup
Tips for troubleshooting long processing time
Warming performance vs. steady state performance
About planning for peak Dgraph load
About tuning the number of threads
Multithreaded Dgraphs on machines with multithreaded processors
Multiple Dgraphs on one machine vs. multithreaded Dgraphs
Disk access recommendations for optimizing performance
CPU recommendations for optimizing performance
I/O recommendations for optimizing performance
Identifying problems with resource usage by the application
Coding practices for the front-end application
Web application ephemeral port contention
Recommendations for identifying network problems
Troubleshooting connection errors
Next steps
Dgraph Analysis and Tuning
Feature performance overview
Endeca record configuration
Record select
Aggregated records
Derived properties on aggregated records
The number of records returned with an aggregated record and performance
Dimensions and dimension values
Hidden dimensions
Dimensions and dimension values with high record coverage
Flat dimension hierarchy
Displaying multiselect dimensions
Multi-assign dimensions
Displaying refinement dimension values
Dynamic statistics on dimension values
Aggregated refinement counts
Dynamic refinement ranking and performance
Disabled refinements
Displaying dimension value properties
Collapsible dimension values
Mapping source properties
Indexing all properties with Dgidx
Record sorting and filtering
Sorting records by dimension or property
Geospatial sorting and filtering
Range filters
Record filters
Record filters: memory cost
Expression evaluation in record filters: impact on performance
Large OR filters (“part lists”)
Large-scale negation
Optimizing URL record filters that use complex logic
EQL expressions and Record Relationship Navigation
When to use EQL-based filters vs. other filter types
Performance impact of EQL-based filters
Performance impact of RRN
Tips for troubleshooting EQL filters
Typical causes of EQL filter errors
Snippeting
Spelling auto-correction and Did You Mean
Spelling auto-correction
Performance of admin?op=updateaspell
Dictionary pruning
Tuning word break analysis
Did You Mean
Stemming and thesaurus
Guidelines for thesaurus development
Record, phrase, and dimension search
Record search
Boolean search
Phrase search
Wildcard search
Wildcard search with punctuation and performance
Preventing expensive wildcard searches
Dimension search
Precedence rules
About precedence rules
Example of a precedence rule
Relevance ranking
Minimizing the performance impact of relevance ranking
Making module substitutions
Ordering modules sensibly
Dynamic business rules
Analytics performance considerations
The MDEX Engine Request Log
About the MDEX Engine request log
Request log file format
Non-OK HTTP Status Codes
Extracting information from request logs
Storing logs on a separate physical drive
Request log rolling
The MDEX Engine Parameter Listing
Understanding the URL parameter mapping
Mappings between request log and UrlENEQuery URL parameters
Example mappings
Mapping parameters
List of request log parameters
Example: interpreting error log messages
Description of query types
allbins
allgroups
analytics
attrs
autophrase
autophrasedwim
compound
dym
filter
format
group
groupby
id
ignore
irversion
keyprops
lang
log
merchdebug
merchpreviewtime
merchrulefilter
model
nbins
nbulkbins
node
offset
op
opts
pred
pretendtime
profiles
rank
refinement
relrank
select
sort
structured
terms
Creating Eneperf input files with the Request Log Parser
Installation location
Log format requirements
Invoking the Request Log Parser
Example output from the Request Log Parser
Header Information
Summary Information
Using the Request Log Parser with Eneperf
Using the Eneperf Tool
About Eneperf
Using Eneperf
Required settings
Host and port settings for running Eneperf locally or remotely
Log file settings suitable for Eneperf input
About the number of connections and iterations
Example: Selecting the number of connections
Optional settings
About generating incremental statistics
Generating statistics on the fly
About setting the number of queries sent to the Dgraph
Example of Eneperf output
About the format of logs for use with Eneperf
The Request Log Parser
Recommendations for generating a representative log for Eneperf
Running Eneperf in two-stream mode: regular logs and logs with updates
Converting an MDEX Engine request log file for Eneperf
Performance testing .NET 2.0 applications that contain long or complex queries
Creating a log file by hand using substitute search terms
Debugging Eneperf
Using the Request Log Analyzer
About the Request Log Analyzer
Installation location
Log format requirements
Invoking the Request Log Analyzer
Show flags
Threshold flags
Ignore flags
Timeframe flags
Miscellaneous Flags
Interpreting reports
Achieved vs. Potential Performance
Expensive Features
Request Queuing and Multithreading
Statistics
Common metrics
Hourly results
Longest-running requests by round-trip response time
Longest-running requests by engine-only processing time
Query types
Extended query types
Response codes
Request profiling
Response profiling
Peak performance
Threading and queueing information
Summary information
MDEX Engine Statistics and Auditing
About the MDEX Engine Statistics page
Sections of the MDEX Engine Statistics page
The Performance Summary tab
The General Information tab
The Index Preparation tab
The Cache tab
The Details tab
About the MDEX Engine Auditing page
Viewing the MDEX Engine Auditing page
Audit persistence file details
Sections of the MDEX Engine Auditing page
The Audit Stats tab
The General Information tab
Useful Third-Party Tools
Cross-platform tools
Solaris and Linux tools
Solaris-specific tools
Linux-specific tools
Windows tools
Tuning the Network Performance
Tuning network performance on Windows
Tuning network performance on Solaris
Configuring the FIN_WAIT_2 timeout interval
Configuring FIN_WAIT_2 timeout on Linux
Configuring FIN_WAIT_2 timeout on Solaris
Configuring FIN_WAIT_2 timeout on Windows
Search Terms