UDP performance on XPe

  • Thread starter =?ISO-8859-1?Q?J=F6rn_Petersen?=
  • Start date
?

=?ISO-8859-1?Q?J=F6rn_Petersen?=

Hi everybody!

Currently we are deploying our devices with NT embedded, but we plan
to upgrade to XP. We have created an XPe image meeting our special
demands and done some tests, where we compare the UDP performance of
the NTe and the XPe platforms.

The test is a very simple UDP-server (running on the embedded target)
that binds a socket to a specific port, and then in a loop receives
messages and responds to the client as fast as possible.
The client program (running on my desktop machine) is executing a loop
that sends datagrams to the server, waits for the response and counts
the number of replies in a certain period.

The result of this test (same server application running on the same
HW platform sitting in the same switch - the only difference is the
OS) is as follows:
Target running XPe replies about 136.000 times in a minute
Target running NTe replies about 197.000 times in a minute
We have made the same test on two desktop machines running XP Pro and
NT and they end up with very close results, so nothing is wrong with
XP in general.

We have done other tests with a program called QCheck (from NetIQ -
see www.netiq.com/qcheck for details about this program). This tool
measures the throghput between two endpoints and using UDP the
throughput to the NTe target is usually on 37 Mbps (sometimes dropping
to 34 Mbps), while the XPe target varies a lot between 22 and 35 Mbps.
The tool also measures the response time of the endpoint and while NTe
always responds in 7 ms on a 32.000 bytes packet, XPe usually averages
to 9 ms with an observed maximum latency of 21 ms.

So our conclusion is, that we have made some mistake in our XPe design
and setup or that we need to configure XPe in a certain way to achieve
the performance of NTe (which is a requirement for us to upgrade the
OS).

And this is where I need your help, since I haven't got a single clue
about how to trace this down. Does anybody have an idea what to do or
where to search?
 
?

=?ISO-8859-1?Q?J=F6rn_Petersen?=

Doug Hoeffel said:
You are probably using NetIQ Qcheck V2.1 which includes Performance Endpoint
V4.1. According to NetIQ, Endpoint V4.1 was not blessed for Win XP.
Download Endpoint V4.5 and see if it makes a differnce on your XPe box.

HTH... Doug
Thanks for the suggestion, Doug.

I am actually using Qcheck v. 2.1, but only on my development machine.
I took the web-based endpoint (revised April 9. 2003) for the XPe and
NTe targets and when looking at the properties of the endpoint.exe it
says "version 4.5". So this shouldn't be the cause of the performance
differences.

I've heard, XP is more resource hungry than NT (-and of course it
is!). Our 128 MB of RAM should be enough, since there are still 80 MB
available when running the UDP-server test mentioned above. But,
during the test, the CPU load goes up to 99% on XP, while it is
between 70% and 85% on NT. We have a P2("Tillamook")-MMX CPU @ 266 MHz
and I have read on MS' homepage that a 300 MHz CPU is recommended for
XP Pro/Home (see http://snurl.com/1zpq for details). But it also says:
"Actual requirements will vary based on your system configuration and
the applications and features you choose to install".

So is there any way to optimize the XPe image in terms of performance?
 
N

Nikolai Vorontsov

Hi, Jörn!
So is there any way to optimize the XPe image in terms of performance?

Is it possible that your XPe has the IPSec filter enabled?
I guess it could slow down the process...

HTH, Nick
 
?

=?iso-8859-1?Q?J=F6rn_Petersen?=

Hello Nikolai!
You are probably guessing right, but I haven't done
anything to enable the IPSec filter. I also checked the
registry
at "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\
IPSec\Policy\Local" and there is no "ActivePolicy" key
defined on the target machine.
Nevertheless, thanks for reading and replying ;-)
 
Z

Zirong Wang

hi Jorg,

do you use EnterCriticalSection/LeaveCriticalSection in
your code or in the call chain of your code ?

for example the C++ input operator >> makes call to
Enter/Leave CS.

the performance Enter/Leave CS on XP is 5 time slower than
with NT4 on a Celeron CPU.

another cause of slow net perf is due to the data rate
configuration of your NICs, try set 100Mb/s on both
server size NIC and client size one.

Zirong
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top