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 will tell others who want to go into trading that DTN ProphetX is an invaluable tool, I don't think anyone can trade without it..." - Comment from Luther
"I cannot believe what a difference it makes trading with ProphetX!" - Comment from Bruce in Los Angeles
"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.
"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 am very pleased with the DTNIQ system for quotes and news." - Comment from Larry
"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
"Excellent datafeed !!!" - Comment from Arely
"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
"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
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 »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: 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/
 

 

Time: Mon May 6, 2024 11:44 AM CFBB v1.2.0 18 ms.
© AderSoftware 2002-2003