473,404 Members | 2,195 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,404 software developers and data experts.

Performance Issues / ASP.NET

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
Nov 18 '05 #1
4 1396
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" <sm****@smoody.com> wrote in message
news:uW**************@TK2MSFTNGP10.phx.gbl...
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

Nov 18 '05 #2
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

"Kevin Spencer" <ke***@takempis.com> wrote in message
news:eA****************@TK2MSFTNGP11.phx.gbl...
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" <sm****@smoody.com> wrote in message
news:uW**************@TK2MSFTNGP10.phx.gbl...
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


Nov 18 '05 #3
"smoody" <sm****@smoody.com> wrote in message
news:uW****************@TK2MSFTNGP10.phx.gbl...
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.
--
John Saunders
John.Saunders at SurfControl.com
Nov 18 '05 #4
> 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.

"smoody" <sm****@smoody.com> wrote in message
news:u7**************@TK2MSFTNGP10.phx.gbl... 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

"Kevin Spencer" <ke***@takempis.com> wrote in message
news:eA****************@TK2MSFTNGP11.phx.gbl...
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" <sm****@smoody.com> wrote in message
news:uW**************@TK2MSFTNGP10.phx.gbl...
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



Nov 18 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

25
by: Brian Patterson | last post by:
I have noticed in the book of words that hasattr works by calling getattr and raising an exception if no such attribute exists. If I need the value in any case, am I better off using getattr...
5
by: sandy | last post by:
Hi All, I am a newbie to MySQL and Python. At the first place, I would like to know what are the general performance issues (if any) of using MySQL with Python. By performance, I wanted to...
2
by: Unruled Boy | last post by:
1.The follow two ways to declare one object: any difference? especially its performance. a.Private m_objMyObject As MyObject=New MyObject() b.Private m_objMyObject As MyObject m_objMyObject=New...
9
by: Java script Dude | last post by:
In many languages, it is necessary to string together multiple strings into one string for use over multiple lines of code. Which one is the most efficient from the interpreters perspective: ...
16
by: David W. Fenton | last post by:
http://www.granite.ab.ca/access/performancefaq.htm I hope Tony doesn't mind my opening a discussion of some issues on his performance FAQ page here in the newsgroup. This is not meant as...
115
by: Mark Shelor | last post by:
I've encountered a troublesome inconsistency in the C-language Perl extension I've written for CPAN (Digest::SHA). The problem involves the use of a static array within a performance-critical...
4
by: Martin | last post by:
I am using graphics as backgrounds for forms,buttons,labels etc. The question is: is it faster to load all graphics from files on app start or to use it embeded (places in editor during design)....
19
by: Tom Jastrzebski | last post by:
Hello, I was just testing VB.Net on Framework.Net 2.0 performance when I run into the this problem. This trivial code attached below executed hundreds, if not thousand times faster in VB 6.0...
8
by: Dmitry Akselrod | last post by:
Hi, I have a recursive application that walks through a directory structure on a Hard Drive and writes various file information to a single table in an Access 2003 database. I am opening a...
2
by: Brian Tabios | last post by:
Hello Everyone, I have a very complex performance issue with our production database. Here's the scenario. We have a production webserver server and a development web server. Both are running...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.