Performance Issues / ASP.NET


S

smoody

I have an ASP.NET application which uses a .NET Web Service as a wrapper to
a COM+ DLL.

Performance for a single user is very good. However, I have noticed that
when multiple requests are made simultaneously to the page, it takes (2 x
number of users) longer to serve the page. Interestingly enough, all users
get the page at the same time.

I have traced the routines in the application and the web service, and the
actual getdata routines take the same amount of time for all users in the
single user test and the multiple user test. Therefore, the problem doesn't
exist in the getdata routines.

At this point, I believe the performance problem exists when loading the
COM+ dll into memory.

Does anyone know if loading unmanaged code is performed serially?

Any ideas on solving this particular bottleneck would be appreciated.

Scott
 
Ad

Advertisements

K

Kevin Spencer

Both COM and Web Services are slow. COM (Interop) is something to be avoided
if possible.

--
HTH,
Kevin Spencer
..Net Developer
Microsoft MVP
Big things are made up
of lots of little things.
 
J

John Saunders

smoody said:
I have an ASP.NET application which uses a .NET Web Service as a wrapper to
a COM+ DLL.

Performance for a single user is very good. However, I have noticed that
when multiple requests are made simultaneously to the page, it takes (2 x
number of users) longer to serve the page. Interestingly enough, all users
get the page at the same time.

I have traced the routines in the application and the web service, and the
actual getdata routines take the same amount of time for all users in the
single user test and the multiple user test. Therefore, the problem doesn't
exist in the getdata routines.

At this point, I believe the performance problem exists when loading the
COM+ dll into memory.

Does anyone know if loading unmanaged code is performed serially?

If the load time varies in proportion to the number of users, and if the
problem is the time it takes to load the code, then that would suggest the
code is loaded some number of times per user.

This seems unlikely, so it's probably not the code loading time that's the
problem.
 
S

smoody

Kevin,

I don't believe that slow components is the primary issue. If all users
received the page at different intervals, I might agree with you. However,
they all get the page simultaneously after a very long time compared to the
single user test. This suggests a threading problem to me.

With a single user, the performance is fine. In addition, a trace on the
methods within the web service show that they run the same length of time
regardless of the user load. The performance issue only occurs when multiple
users hit the resource simultaneously.

Scott
 
Ad

Advertisements

K

Kevin Spencer

I don't believe that slow components is the primary issue. If all users
received the page at different intervals, I might agree with you. However,
they all get the page simultaneously after a very long time compared to the
single user test. This suggests a threading problem to me.

COM objects run in Single Threaded Apartment mode.

--
HTH,
Kevin Spencer
..Net Developer
Microsoft MVP
Big things are made up
of lots of little things.
 

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