web app scalability

Brian Yennie briany at qldlearning.com
Thu Jul 23 00:54:07 EDT 2009


Disclaimer: I have only worked with Rev in the past as a CGI, so this  
is not from first-hand experience; however, I do have a lot of  
experience with web apps in other languages.

Here is how I believe Rev will stack up:

1) Since Rev is now an Apache plugin, this means it runs inside the  
web server process(es). Apache will launch processes as necessary to  
handle the load, and does a fairly good job of doing this. In short,  
Rev should handle connections as well as any other language plugin  
(PHP, Python, Perl, etc). If the server has enough memory and  
resources, 100s of connections should be no problem. Of course this  
hugely depends on what your scripts are doing, what else the server is  
doing, etc.

2) Performance != scalability. Just one important thing to remember.  
You need a little of both in most cases. In particular, what gives you  
great performance for a few users may not scale. For example, if you  
load large files into memory, you are going to eat up all of the  
server's memory when 100 connections are going at the same time. If  
you are reading from disk, you may end up waiting on another process  
to unlock the file. If you outgrow a single server solution, a local  
database breaks down. Etcetera.

Really we should be able to do anything the PHP / Python / Perl /  
Java / Ruby crowd can do at this point. That's the good news. The bad  
news is that there are still plenty of unscalable ways to do things as  
well =).

If you want to stress test your own code, I would suggest looking into  
Apache load testing tools such as "Apache Bench" (http://www.petefreitag.com/item/689.cfm 
) for starters. From there on out, it's all about understanding your  
own requirements. It's nice to have a "scalable" language in tow, but  
application design is 90% of the battle.

HTH,
Brian

>
> Hi Forum,
>
> What is known about how well Rev web apps can handle a load? If I  
> put a Rev
> app on a server and the app reads data from a flat file, or from a  
> MySQL
> database, is there any way to estimate how it will behave when 100  
> or 1000
> people are hitting it at the same time? Does the server spawn a new  
> instance
> of the app for every user?
>
> Thanks for any comments.
>
> Steve
> -- 
> View this message in context: http://www.nabble.com/web-app-scalability-tp24618648p24618648.html
> Sent from the Revolution - User mailing list archive at Nabble.com.



More information about the use-livecode mailing list