|
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 very happy I changed. I love the product, but more so I am thrilled with Tech Support. You are knowledgeable, polite, pleasant and professional." - Comment from Pat
"I was on the phone with a friend who uses CQG and right after the Fed announcement, CQG was as much as 30 seconds behind DTN.IQ. Some quotes were off by as much as 15-18 cents. Your feed never missed a beat." - Comment from Roger
"I am enjoying the feed very much - so superior to the broker provided feed I was previously using." - Comment from George
"Excellent datafeed !!!" - Comment from Arely
"I've never had DTN go out on me since switching. ******* would go down a couple times every month when I was using them." - Comment from Bryce in AL.
"I just wanted to tell you what a fine job you have been doing. While *******, from what I hear, has been down and out, off and on, IQ feed has held like a champ this week." - Comment from Shirin
"I was with ******* for 4 years at $230 a month, this is a huge savings for me, GOD BLESS YOU PEOPLE," - Comment from T.S. via Email
"After all the anxiety I had with my previous data provider it is a relief not to have to worry about data speed and integrity." - Comment from Eamonn
"I cannot believe what a difference it makes trading with ProphetX!" - Comment from Bruce in Los Angeles
"For anyone considering using DTN.IQ for a data feed, my experience with the quality of data and the tech support has been very positive." - Comment from Public Forum
|
|
|
|

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: 2093
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/
|
|
|
|