EMA C++ Performace Tools Guide : 7 Performance Measurement Scenarios : 7.4 Consumer Posting on the LSEG Real-Time Distribution System
 
7.4 Consumer Posting on the LSEG Real-Time Distribution System
To measure posting performance on the LSEG Real-Time Distribution System, connect the following components, as described below and displayed in the following picture:
Connect EMACppConsPerf to an LSEG Real-Time Advanced Distribution Server.
Connect the LSEG Real-Time Advanced Distribution Server to an LSEG Real-Time Advanced Distribution Hub. You can do so using the RRCP backbone.
Connect EmaCppNIProvPerf to the LSEG Real-Time Advanced Distribution Hub. The LSEG Real-Time Advanced Distribution Hub must have caching enabled, because it acts as the cache of record in this scenario.
As the posted messages return from the LSEG Real-Time Distribution System, the consumer can distinguish them via the presence of their RsslPostUserInfo. When configured to do so, EMACppConsPerf embeds timestamps in some of its posts which it uses to measure round-trip latency.
 
Figure 18. Consumer Posting to LSEG Real-Time Distribution System
Update traffic is optional. If you want to test posting without updates, configure EmaCppNIProvPerf by specifying -updateRate 0 -latencyUpdateRate 0 in the command line.
Additionally, if you want only posting traffic, you do not need to run a provider application. You can configure the LSEG Real-Time Distribution System to provide the necessary service information and refresh content. For more details on this configuration, refer to the LSEG Real-Time Advanced Distribution Hub Software Installation Manual.
To run a basic performance measurement:
1. Configure Perf_NIP_Channel_1, change <Host value="adhhost"/>, <Port value="14003"/>.
2. Configure Perf_Channel_1, change <Host value="adshost"/>, <Port value="14002">.
3. Configure Perf_Directory_1, change <Service><Name value="TEST_FEED"/>.
4. Run EmaCppNIProvPerf and EmaCppConsPerf with the following command-line options. These options assume TEST_FEED is the service being provided. Modify the example values as necessary.
 
 
EmaCppNIProvPerf -h adhhost -p 14003 -serviceName TEST_FEED
EmaCppConsPerf -h adshost -p 14002 -serviceName TEST_FEED -postingRate 10000 -postingLatencyRate 10
 
You can measure the performance of the transport1 in a direct connect scenario. This test can determine the throughput and latency you can achieve using different transport types supported in the Enterprise Message API. This scenario shows the TCP Socket transport type.
Figure 19. Transport Performance, TCP Direct Connect
To run a basic performance measurement:
To run a basic performance measurement using the setup pictured in Figure 19, run two instances of TransportPerf as follows:
 
 
 
 
 

1 Other than timestamp and sequence number encoding and decoding, this application does not perform other content operations or inspections.