rising process time of a webservice

A

Andreas Klein

Hello NG,

I have a problem with a webservice on my server: the process time is rising
when the are multiple requests.

This means with one request the answer comes after about 500ms. When i have
5 concurrent requests, _each_ answer takes about 2000ms. I have tested this
with a dummy function on my webservice, which waits for 500ms and a test
application which creates several threads calling the service.

When i run the test with my localhost i don´t have this problem.

The server is well configured and up-to-date, there are running other
websites from our company on it.

We are using .NET 2.0, IIS 6, 4-core-processor server with w2k.

Is this a configuration problem or does anyone have another idea whats wrong
here?

regards
Andreas
 
J

John Saunders [MVP]

Andreas Klein said:
Hello NG,

I have a problem with a webservice on my server: the process time is
rising when the are multiple requests.

This means with one request the answer comes after about 500ms. When i
have 5 concurrent requests, _each_ answer takes about 2000ms. I have
tested this with a dummy function on my webservice, which waits for 500ms
and a test application which creates several threads calling the service.

When i run the test with my localhost i don´t have this problem.

The server is well configured and up-to-date, there are running other
websites from our company on it.

We are using .NET 2.0, IIS 6, 4-core-processor server with w2k.

Is this a configuration problem or does anyone have another idea whats
wrong here?

Obviously, something is taking longer as the system becomes more loaded.

;-)

Ok, actually, you haven't provided any information that would help us solve
the problem. The only way your information could be adequate is if there
were a known bug in Windows 2000 with NET 2.0 where the processing time
increased with load for _all_ web services.

If that were the case, I don't think Microsoft would support ASP.NET on
Windows 2000.

So, the cause of your problem is something specific to your application.
Unfortunately, you haven't said anything about the application. What is it
doing for 500 ms? Database access? Is your service the only application
using the database server machine? The only thing using the network subnet?
Can the problem be reproduced off-hours?

Any number of other questions will likely arise once we have some idea of
what your code is doing.
 
A

Andreas Klein

Thanks for your answer.

Well, my web-service is doing "nothing", i just call a Thread.Sleep(500) in
the method. Even this increases the process time for each thread calling the
web service on the server.
On my localhost the proces time is stable (or just a little higher due to
the processer utilization).

I know this can´t be a systematic error on w2k/.net. But i don´t know where
to look for a solution.

regards
Andreas
 
J

John Saunders [MVP]

Andreas Klein said:
Thanks for your answer.

Well, my web-service is doing "nothing", i just call a Thread.Sleep(500)
in the method. Even this increases the process time for each thread
calling the web service on the server.
On my localhost the proces time is stable (or just a little higher due to
the processer utilization).

I know this can´t be a systematic error on w2k/.net. But i don´t know
where to look for a solution.

Ok, first, let's be clear about what it is that you are seeing. Please tell
me, in terms of specific measures (preferably performance counters) exactly
what you're seeing.

One reason I ask is that you say you're doing a Thread.Sleep(500). Were you
aware that you are blocking one of the (limited number of) worker threads
that are available to ASP.NET for handling requests? If you use them up,
then requests will have to wait to be processed.
 
A

Andreas Klein

Hi John,

i´m not sure what kind of information you need.

In my test application i start several Threads, each is calling the
Sleep-Funktion of the web service. I measure the time that the thread needs
until it´s finished and restart the thread.

Here are the results:
localhost:
1 running thread: 590ms
5 running threads: 590ms each thread

server:
1 running thread: 590ms
5 running threads: about 1800ms each thread

so, each new request to the service slows down the other ones, but this is
just on server, not on my localhost. That´s what i don´t understand.

regards
Andreas
 
P

Peter Yao

Your client is configured with the default of 2 http calls at the same time,
so until one finishes the other does not kick off.
Localhost eliminates that restriction.

try changing client side's config under system.net, connectionmanagement

<add address="*" maxconnection="4" />
 

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

Members online

Forum statistics

Threads
473,780
Messages
2,569,608
Members
45,246
Latest member
softprodigy

Latest Threads

Top