Re: web app scalability
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
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
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
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