|
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 used to have *******, but they are way more money for the same thing. I have had no probs with data from DTN since switching over." - Comment from Public Forum Post
"If you are serious about your trading I would not rely on IB data for serious daytrading. Took me a while to justify the cost of IQ Feed and in the end, it's just a 2 point stop on ES. Better safe than sorry" - Comment from Public Forum
"I started a trial a few weeks back before the market went wild. DTN.IQ didn’t miss anything and beat my other provider. I decided to stay with you because of the great service through all the volatility." - Comment from Mike
"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
"And by the way, have to say this. I love the IQFeed software. It's rock solid and it has a really nice API." - Comment from Thomas via RT Chat
"I "bracket trade" all major news releases and I have not found one lag or glitch with DTN.IQ feed. I am very comfortable with their feed under all typical news conditions (Fed releases, employment numbers, etc)." - Comment from Public Forum
"I just wanted to let u know that your data feed/service is by far the best!!! Your unfiltered tick data is excellent for reading order flow and none of your competitors delivers this quality of data!" - Comment from Peter via Email
"If you want customer service that answers the phone, your best bet is IQFeed. I cannot stop praising them or their technical support. They are always there for you, and they are quick. I have used ****** too but the best value is IQFeed." - Comment from Public Forum
"I am very pleased with the DTNIQ system for quotes and news." - Comment from Larry
"IQFeed version 4 is a real screamer compared to anything else I have seen." - Comment from Tom
|
|
|
|

kleelof
-Interested User-
Posts: 23
Joined: May 30, 2010
|
Posted: Jul 13, 2010 03:39 AM

Msg. 1 of 7
Hello,
Anyone here have experience building an app that works on Windows Server 2003?
I've built this app that runs beautifully on my development machine, but falls apart once it is on WS2003.
The system is on a 'Cloud' server, with 1GB ram, 2.xxmhz single core processor. I know there is a hardware difference. My development machine runs XP with 2GB ram, 2.xx mhz dual core processor.
take care, lee
|

DTN_Steve_S
-DTN Guru-
Posts: 2095
Joined: Nov 21, 2005
|
Posted: Jul 13, 2010 02:19 PM

Msg. 2 of 7
Hello Lee, I'm not sure exactly what you are asking but we do have several other developers running IQFeed on Windows server 2k3. What sort of problems are you running into?
|

kleelof
-Interested User-
Posts: 23
Joined: May 30, 2010
|
Posted: Jul 13, 2010 06:10 PM

Msg. 3 of 7
Hello,
Here is a detailed explanation of what I have done:
I originally wrote the app using the com component. When I ran it on my development system, everything looked good. CPU usage was OK. Memory usage was OK. But as soon as I put it the 2k3 server, the stats went to crap during market time. The CPU usage and memory got so bad, the app crashed. Nothing like this happened when I ran it on my development machine.
Yesterday, I read on the forums that the COM component can become overworked and slow down an application, so I switched to TCP/IP. On the development server, it ran much better. It was using about 1/2 the CPU and 70% or less of the memory the previous set-up. However, when I put it on the 2k3 server, the memory immediately shot-up to 600,000k. Something it did not do on my XP machine. I was running it during market time on both machines. Now that the market is closed, it is running OK on the 2k3 server. So, obviously the problem lies somewhere in its processing of the feeds. But I'm really stumped why it works OK on my development system, but not on the 2k3 server.
So I suppose my question is if anyone knows of any significant differences between the 2 operating systems that I should be taking into account. Could it just be a hardware problem? The following are the stats on the machines:
Development: XP Pro 2g memory Intel Pen. Dual 2.20g
2k3: 1g memory INtel Xeon Single 2.27g
Also, as a side note; I've noticed from reading the forums that people have often had problems that were related to handling the traffic volume from IQFeed. Could you post some tips and tricks on how to handle this? I think the system I have is pretty clean, but who knows. At the very least, it may save other new developers the set-backs associated with weak handling of this traffic.
take care, lee
|

David
-DTN Evangelist-
Posts: 113
Joined: May 7, 2004
I'd rather be...
|
Posted: Jul 13, 2010 10:17 PM

Msg. 4 of 7
FWIW: I use a 'dataavailable' event for tcp/ip. It is very important that you minimize the time servicing the data, and depending on how your tcp connection is done you do not want to call 'process messages' or equivalent in the event process. Also if you use strings, that can take a lot of CPU time - I use a fixed array of char that is only created once for each socket so there is no mem alloc or destruction going on. I only get the length of the data and then process the array. Made a big difference, very big. David IQXP Software http://www.iqxp.com
LiveWire Update Service PO Box 1417 Fairfield, IA 52556 641-472-8393 http://www.livewire-cablesoft.com/
|

kleelof
-Interested User-
Posts: 23
Joined: May 30, 2010
|
Posted: Jul 13, 2010 10:26 PM

Msg. 5 of 7
Hello,
Thanks.
The dataAvail event I understand. But the second part I don't.
Sorry. This is my first socket system on .NET, so I am not so quick with it. Would it be possible for you to post a code snippet showing this process?
take care, lee
|

kleelof
-Interested User-
Posts: 23
Joined: May 30, 2010
|
Posted: Jul 13, 2010 10:27 PM

Msg. 6 of 7
..
Even just some psuedo code would be fine...
|

David
-DTN Evangelist-
Posts: 113
Joined: May 7, 2004
I'd rather be...
|
Posted: Jul 13, 2010 10:59 PM

Msg. 7 of 7
Look at the code that implements the data transfer from the socket - I don't use or work in net - so see what forms of transfer are available, normally one provides a string or a data array to get/read the data once the DataAvail event happens. The idea here is not to do any creation of objects or anything getting the data. Just do it once at initialization - then no additional overhead then. String manipulation can be very slow in particular. Also look at the code that handles the event - make sure you are not taking too much time there, especially on display or other I/O - I suspect that net is slow by nature. GL! David IQXP Software http://www.iqxp.com
LiveWire Update Service PO Box 1417 Fairfield, IA 52556 641-472-8393 http://www.livewire-cablesoft.com/
|
|
|
|