Re: web app scalability

2009-07-22 Thread Brian Yennie
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.

___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: web app scalability

2009-07-22 Thread Richard Gaskin

Brian Yennie wrote:

Since Rev is now an Apache plugin...


Is it?

At one time I had thought that was the plan, but reading some of the 
descriptions of its behavior here it sounds like something else


--
 Richard Gaskin
 Fourth World
 Revolution training and consulting: http://www.fourthworld.com
 Webzine for Rev developers: http://www.revjournal.com
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: web app scalability

2009-07-22 Thread Brian Yennie

Well, I guess I assumed. And you know what they say about assuming...

Anyone that can confirm either way? It appears to me that it ought to  
be an Apache plugin with some other proprietary stuff going on for  
integration with the IDE, but I definitely can't prove it!



Brian Yennie wrote:

Since Rev is now an Apache plugin...


Is it?

At one time I had thought that was the plan, but reading some of the  
descriptions of its behavior here it sounds like something else


--
Richard Gaskin
Fourth World
Revolution training and consulting: http://www.fourthworld.com
Webzine for Rev developers: http://www.revjournal.com
___

___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: web app scalability

2009-07-23 Thread stephen barncard
Yes each page access is an application load at the server and it appears
that there is no need for 'session variables' as in PHP as every variable
created in rev is only good for the time the document executes.  I'm not
clear what the difference in script locals and globals would be here, unless
the globals persist between sessions, which they don't.

-
Stephen Barncard
San Francisco
http://barncard.com


2009/7/22 Mark Stuart 

> Written by stevex64 on Wed Jul 22, 2009 - 10:11 PM CDT
>
> >>>
>
> 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
>
> <<<
>
>
>
> Good question Steve, I've been afraid to ask because I've invested so much
> into RunRev.
>
> So far my RunRev applications have been single user apps, so about time to
> know this.
>
>
>
> --
>
> Regards,
>
> Mark Stuart
>
> ___
> use-revolution mailing list
> use-revolution@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-revolution
>
___
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution