Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
MT DLL COM object with ASP vs FoxISAPI
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Applications Internet
Divers
Thread ID:
00311124
Message ID:
00311277
Vues:
21
>Can anybody share their experience with using VFP's multithreaded runtime DLL as an in-process COM server for Active Server Pages? Whatever you have done, I would be very interested in simply hearing how well it has performed for you, how much of a resource hog it is when you have serveral simultaneous connections, and how scalable you think it is. In other words, are you happy with it or do you wish you had used a different strategy, such as the FoxISAPI/WC approach? Thanks very much!

If you look back here a few days you'll find a whole thread on this subject.

The bottom line is this:

Unless you're building a super large high volume site this is probably not going to be much of an issue. The majority of business Web sites never hit loads where performance is a huge issue.

If you do, though, then you need to look at your environment and the application and perform load testing.

I've done this on several occasions and the bottom line here is that ASP/MTS is much less scalable than the same implementation with Out of Proc servers in an independent ISAPI pool. The problem with ASP is that servers load and unload on each hit (even though not the entier runtime unloads) and that overhead doesn't scale well in comparison to the WC or FoxISAPI approach. For your basic HelloWorld type of hit (which demonstrates just the request overhead) you'll find that Web Connection will run at least 2 times faster in high volume test scenarios (with MS Web Application Stress Tool at 100 clients) with CPU loads of 20-30% compared to clost to 100% for ASP. If you double the number of clients ASP will lock up where WC will still go although sluggishly and pushing its limits (obviously these types of tests and performance depend on the hardware you run this on).

Once you start adding complex code into your components that gap will close somewhat since once hte VFP code hits performance is no different between the two. If you have applications that run long, large queries you may find that the limits hit much, much sooner as wuold be expected for the higher workload.

No two applications are the same so it's hard to compare the numbers in a real live environment side by side, but I think the tests I ran a while back are pretty accurate and hold for real life scenarios. ASP applications deplete machine resources a lot quicker than WC does (didn't test FoxISAPI but I'm guessing it'd be similar as WC maybe slightly better because WC has some management overhead for logging etc.). The ASP issues are not unique to VFP either - VB objects although more lightweight than Fox objects also don't do very well for the same reason.

For me personally, the performance aspect is not that critical because I've only worked on two applications where performance was high enough to be considering overrunning multiple machines. I've been able to run Web Connection on my 450mhz PIII Notebook to almost 1.5 million hits against my Web store in tests last week. Even if we account for ASP being lets 2 times slower that still would leave you with 750,000 a day - which is a lot of volume to hit in a 24 hour period. Surplus Direct's peak was somewhat over 1.2 million a day and they had 3 T1 lines maxed during the day.

Today's computer hardware allows a lot of slack so performance may or may not be as big of an issue as you think. But ease of development is a big issue. ASP with COM is a major drag - it's not hard, but tedious and time-consuming without a real way to debug in a live environment. I do both ASP and WC development out of necessity and when it comes to building an app I'll do it 5 to 10 times faster in WC than with ASP, even though I have most of my WC stuff ported to work with ASP (IOW, I write the same code). Just the debugging alone saves so much time...


The best suggestion I have is to sit down and write test scenarios for each. It's one thing to hear it from me (with the obvious bias <s>)- quite another if you sit down and see it for yourself.
+++ Rick ---

West Wind Technologies
Maui, Hawaii

west-wind.com/
West Wind Message Board
Rick's Web Log
Markdown Monster
---
Making waves on the Web

Where do you want to surf today?
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform