Performance Issues / ASP.NET

  • Thread starter Thread starter smoody
  • Start date Start date
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
 
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.
 
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.
 
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
 
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.
 
Back
Top