1 Introduction
1.1 About this Manual
1.2 Audience
1.3 Programming Language
1.4 Acronyms and Abbreviations
1.5 References
1.6 Documentation Feedback
1.7 Document Conventions
1.7.1 Typographic
1.7.2 Diagrams
2 Open Source Performance Tool Suite Overview
2.1 Overview
2.2 Enterprise Message API Performance Tool Suite
2.3 Package Contents
2.3.1 Building
2.3.2 Running
2.4 What Is Measured and Reported
2.4.1 Latency
2.4.2 Throughput and Payload
2.4.3 Image Retrieval Time
2.4.4 CPU & Memory Usage
2.4.4.1 CPU Usage Calculation
2.4.4.2 Memory Usage Calculation
2.5 Recorded Results and Output
2.5.1 Summary File
2.5.2 Statistics File
2.5.3 Latency File
3 Latency Measurement Details
3.1 Time-slicing
3.2 Latency
4 Consumer Performance Tool
4.1 Overview
4.2 Threading and Scaling
4.2.1 Consumer Lifecycle
4.2.2 Application Flow Diagram
4.3 Latency Measurement
4.3.1 Consumer Latency
4.3.2 Posting Latency
4.4 EmaCppConsPerf Configuration Options
4.5 Input
4.5.1 EmaConfig.xml Examples
4.5.1.1 Consumer Section
4.5.1.2 Channel Section
4.6 Output
4.6.1 EmaCppConsPerf Summary File Sample
4.6.2 EmaCppConsPerf Statistics File Sample
4.6.3 EmaCppConsPerf Latency File Sample
4.6.4 EmaCppConsPerf Console Output Sample
5 Interactive Provider Performance Tool
5.1 Overview
5.2 Threading and Scaling
5.3 Provider Lifecycle
5.3.1 Application Flow Diagram
5.4 Latency Measurement
5.5 EmaCppIProvPerf Configuration Options
5.6 Input Files
5.6.1 EmaConfig.xml Examples
5.6.1.1 IProvider Section
5.6.1.2 The Server Section
5.7 Output
5.7.1 EmaCppIProvPerf Summary File Sample
5.7.2 EmaCppIProvPerf Statistics File Sample
5.7.3 EmaCppIProvPerf Console Output Sample
6 Non-Interactive Provider Performance Tool
6.1 Overview
6.2 Threading and Scaling
6.3 Non-Interactive Provider Lifecycle
6.4 Latency Measurement
6.5 EmaCppNIProvPerf Configuration Options
6.6 Input Files
6.6.1 EmaConfig.xml Examples
6.6.1.1 NiProvider Section
6.6.1.2 Channel Section
6.7 Output
6.7.1 EmaCppNIProvPerf Summary File Sample
6.7.2 EmaCppNIProvPerf Statistics File Sample
6.7.3 EmaCppNIProvPerf Console Output Sample
7 Performance Measurement Scenarios
7.1 Interactive Provider to Consumer, Through LSEG Real-Time Distribution System
7.2 Interactive Provider to Consumer, Direct Connect
7.3 Non-Interactive Provider to Consumer, Through LSEG Real-Time Distribution System
7.4 Consumer Posting on the LSEG Real-Time Distribution System
8 Input File Details
8.1 Message Content File and Format
8.1.1 Encoding Fields
8.1.2 Sample Update Message
8.1.3 Sample MarketByOrder Data
8.2 Item List File
8.2.1 Item Attributes
8.2.2 Sample Item List File
9 Output File Details
9.1 Overview
9.2 Output Files and Their Descriptions
9.3 Latency File
9.4 File Import
10 Performance Best Practices
10.1 Overview
10.2 Enterprise Message API Best Practices
10.2.1 dispatch
10.2.2 submit
10.2.3 High-water Mark
10.2.4 Nagle’s Algorithm
10.2.5 System Send and Receive Buffers
10.2.6 Enterprise Message API Buffering
10.2.6.1 Input Buffering
10.2.6.2 Output Buffering
10.2.6.3 Fragmentation
10.2.7 Compression
10.3 Encoder and Decoder Best Practices
10.3.1 Single-Pass Encoding
10.4 Other Practices: CPU Binding
Appendix A Troubleshooting
A.1 Can’t Connect
A.2 Not Achieving Steady State
A.3 Consumer Tops Out but Not at 100% CPU
A.4 Initial Latencies Are High
A.5 Latency values Are Very High
1.1 About this Manual
A.5 Latency values Are Very High
This site works best with JavaScript enabled