Performance issue with Com+ (EXPERTS!!!)

Hi,
I have a simple COM+ object.
when I use it in the loclal Lan I can create it as a dcom in great performance without even notice it.
when I try to create the com+ object from an ASP page on the net
It take it ages to load (the IIS is in the DMZ and the COM+ is on the AppServer on my LAN).
The Com+ is called from the IIS server via proxy (after export of the COM)

Any suggestions how to make it work faster?
what could cause the problem?

Thanks,
The shark
TheShark10Asked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Wim ten BrinkSelf-employed developerCommented:
Slow network connection between DMZ and AppServer? Slow ASP code? Invalid COM+ component or wrongly configured component?

Okay, go to Component Services, your application and check the properties of your COM+ component. Especially the tabpage Advanced with the "Server Process Shutdown". If you set this to 0, your COM+ is loaded and unloaded for EVERY call to one of it's methods. This could be slowing things down a bit.
Unlike an ISAPI DLL, a COM+ application can be unloaded by the system if it hasn't been called for a certain time.

And keep in mind that a COM+ component is technically stateless. So normally it won't remember information between calls. So if you need to initialize data before executing a method, your COM+ might now need to initialize the data for every call since the information is gone again once the call ends.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
swift99Commented:
Without crossing system boundaries, COM has a limit of 5,000 calls per second on an 800 MHz Win98 machine.  From my perspective, this is sluggish no matter how you cut it.

Options:
1. Refactor the object to minimize required communications overhead.
2. Increase memory available on the machine
3. Refactor and preload the object as a singleton

Are you certain that the bottleneck is your object, and not the ASP?  Interpreted VB (ASP) is not the fastest technology around.

Just some ideas.
TheShark10Author Commented:
Yes the Com+ is the bottleneck.
I have an ASP page that only create the COM+ object (via proxy)
and doesn't even call this COM+ object methods.
this page takes ages to load although both computers are strong.
(this happens even if only one user is connected).
the problem is with the COM+ and not with the page cause if I take out the line that creates the COM+ object it takes less than a sec to load the page.
swift99Commented:
Hmmm ...

How much memory is available?  I have seen "order of magnitude" bottlenecks when virtual memory has to be hit.

Are you able to preload the DLL's behind the COM object?
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Delphi

From novice to tech pro — start learning today.