EMA performance not comparable to IDS rest interface.
We are moving to the cloud and it has been suggested to use Java EMA to connect to our ADS service. It works fine for a few rics but when sending 1000+ rics the performance is much slower than when we were doing the same thing against the IDS restful interface. We basically just want to replicate the functionality of the IDS restful service through the EMA classes. I have tried multi threading around the EMA consumer but still getting slower than expected results. Let me if there are any best practices for this or suggestions.
Best Answer
-
Hi @ssweeney
Also, since you were previously using a RESTFUL interface - this would indicate snapping the data at regular intervals OR as when required.
With EMA, the default is streaming whereby you receive every update - so potentially processing a much greater volume of tick data.
If with IDS you were not snapping that often, then you could consider using Snapshot request with EMA - to try and achieve a similar volume of data.
0
Answers
-
Hi @ssweeney,
The performance will depend on many factors, and one of them is the hardware and other is the horizontal scaling of the EMA instances and load balancing across multiple consumer objects.
The response time will also be delayed if the item is not in the ADS cache and if there is an invalid instrument in your request.
If you provide more quantifiable numbers regarding response latency, then we can try to gauge you if you are close to SDK limit, or if something is way off.
Please note that in the Realtime stack, EMA Java is the slowest of all. There is a magnitude of performance difference between EMA Java and ETA C++.
0 -
Hi @ssweeney
Can you clarify/expand your first statement - 'we are moving to the cloud....connect to our ADS' - moving to the cloud would suggest NOT connecting to your ADS - since an ADS usually runs on deployed hardware?
What is the IDS restful interface - not familiar with IDS? Can you also advise approximately how many RICs you are requesting - just over 1000 or several thousand?
Also, how is your EMA Java consumer code constructed? I have seen instances where a developer has mistakenly created a separate OMMConsumer instance for each RIC they subscribe to - rather than using a single OMMConsumer for a few thousand RICs - and this has caused performance issues as there is some overhead for each OMMConsumer instance.
As a simple test, have you tried modifying ex370_MP_Batch to request your 1000+ RICs. Note that there is a 64K limit on the ReqMsg payload size - at which point you would need to split the batch into smaller batches.
0
Categories
- All Categories
- 6 AHS
- 37 Alpha
- 161 App Studio
- 4 Block Chain
- 4 Bot Platform
- 16 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 367 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 59 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛