Join the 80,000 other DTN customers who enjoy the fastest, most reliable data available. There is no better value than DTN!

(Move your cursor to this area to pause scrolling)




"I am keeping IQFeed, much better reliabilty than *******. I may refer a few other people in the office to switch as well." - Comment from Don
"I use IQ Feed, Great stuff as far as data analysis information, storage and retrieval is concerned." - Comment from Public Forum
"Very impressed with the quality of your feed - ******* is a real donkey in comparison." - Comment from A.C. via Email
"I have to tell you though that using the IQFeed API is about the easiest and cleanest I have seen for some time." - Comment from Jim
"Can I get another account from you? I am tired of ******* going down so often" - Comment from George
"As a past ******* customer(and not a happy one), IQ Feed by DTN is a much better and cheaper product with great customer support. I have had no problems at all since switching over." - Comment from Public Forum
"I would just like to say that IQFeed version 4 is running very well and I am very happy with its performance. I would also like to extend a big thanks for the fast and efficient help that I always receive. My questions and concerns are always addressed promptly. Way to go!" - Comment from Josh in CO.
"This is an excellent value, the system is generous (allowing for 500 stocks) and stable (and really is tick-by-tick), and the support is fantastic." - Comment from Shirin via Email
"I've been using IQFeed 4 in a multi-threaded situation for the last week or two on 2600 symbols or so with 100 simultaneous daily charts, and I have had 100% responsiveness." - Comment from Scott
"Everything is working great with the API. I love it." - Comment from Calvin
Home  Search  Register  Login  Recent Posts

Information on DTN's Industries:
DTN Oil & Gas | DTN Trading | DTN Agriculture | DTN Weather
Follow DTNMarkets on Twitter
DTN.IQ/IQFeed on Twitter
DTN News and Analysis on Twitter
»Forums Index »Archive (2017 and earlier) »IQFeed Developer Support »Performance of historical API v5.1
Author Topic: Performance of historical API v5.1 (4 messages, Page 1 of 1)

XoCe
-Interested User-
Posts: 9
Joined: Sep 19, 2013


Posted: Sep 1, 2014 07:09 AM          Msg. 1 of 4
Hi,

One of our clients has a use case when he requests several one-minute bars for a set of symbols. In this case we open a socket and send several requests, one after another:
- send a request for symbol A
- receive and process data for symbol A
- send a request for symbol B
- receive and process data for symbol B
etc.

When using API 4.9 we are able to get huge amount of symbol's data during one minute, we get a response from IQFeed immediately after the request (0-1-2 ms.).

When using API 5.1 we are not able to do this. When the request is sent, it takes about 300-700 ms. to get the first data message for the requested symbol. I.e.:
- send a request for symbol A
- waiting for a response from IQFeed (~500 ms)
- receive and process data for symbol A
- send a request for symbol B
- waiting for a response from IQFeed (~500 ms)
- receive and process data for symbol B
etc.

In this situation we are able to get data for only 2 symbols in a second, 120 symbols per minute... This is very slow...

1. Why does this happen? Is it possible to make it working faster, as it was before?
2. Are there any new limitations in new API 5.1?
3. How many simultaneous threads can request data from IQFeed at the same time? What is the limit? Which is the optimal number?

Note:
We use Java API, request type is "HIT".
We used "LookupClient.java" example from IQFeed SDK for testing.

Thank you.

DTN_Tim Walter
-DTN Guru-
Posts: 1238
Joined: Apr 25, 2006


Posted: Sep 2, 2014 03:52 AM          Msg. 2 of 4
Good morning XoCe,

While I would love to take credit for a 2 ms return on history, this is simply not possible for anyone. When you request data from us, we have to open a new socket connection. So the request to the server is sent and we verify the request and reply that the connection is accepted, this means that you are immediately out 2 times your ping at a minimum.

After that, your request is sent to the server, and the data is retrieved, that process is very quick, but it has to be counted, but then that data has to be sent back to you, so we have once again cost ourselves at minimum 2 times our ping.

So even the machine sitting down the street that might be lucky enough to have a 35 ms ping, would still incur a minimum time on a history request of around 150 ms. This has been how the product has always worked, but that said, we do allow for multiple sockets to connect to us at any given time, up to 15 concurrent connections.

So even if you are having a bad ping day, we'll say of 125, and you could process all the data coming in fast enough, there is nothing to stop you from pulling 30+ symbols a second (or 1800 per minute). But doing it with one socket, you are correct, if your customer had a ping of 100+ they are going to see exactly what you have mentioned above, but there is no way that I can think of that they would see anything different in 4.9 either.

Tim

XoCe
-Interested User-
Posts: 9
Joined: Sep 19, 2013


Posted: Sep 4, 2014 12:32 PM          Msg. 3 of 4
Hi Tim,

Thank you for your answer.

Yes, it looks like you are right. We have missed that API 4.9 does not send the confirmation of the protocol before data (S,CURRENT PROTOCOL), so the first data message was just skipped when working under API 4.9. And of course every next bar after the first one was received in 0-1 ms.

Response time in API 4.9 is approximately the same as in 5.1...

Thank you for your help.

DTN_Tim Walter
-DTN Guru-
Posts: 1238
Joined: Apr 25, 2006


Posted: Sep 4, 2014 06:16 PM          Msg. 4 of 4
Glad we were able to get it worked out. Let me know if we can help further though.
 

 

Time: Wed May 8, 2024 7:37 PM CFBB v1.2.0 10 ms.
© AderSoftware 2002-2003