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 noticed that ******* quotes locked up shortly after the interest rate announcement yesterday while yours stayed stable." - Comment from Ron in Utah
"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
"The service is great, I see a noticeable improvement in my volume profiles over [broker]'s data feed" - Comment from Larry
"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 am enjoying the feed very much - so superior to the broker provided feed I was previously using." - Comment from George
"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
"Awesome response, as usual. It is a sincere and refreshing pleasure to do business with DTN, compared to your competition." - Comment from Ryan
"Version 4.0.0.2 has been working well for me and I appreciate that it is now a much tighter client to work with. I feel I can go to press with my own application and rely on a stable platform" - Comment from David in IA.
"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
"You have an excellent feed. Very few spikes for Spot Forex." - Comment from Public Forum Post
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 »IQFeed Developer »IQFeed Developer Support »Windows Server 2003
Author Topic: Windows Server 2003 (7 messages, Page 1 of 1)

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

 

Time: Mon May 16, 2022 1:26 AM CFBB v1.2.0 31 ms.
© AderSoftware 2002-2003