Hi All,

Thanks for the enlightening discussion. web2py community is awesome!

I am hoping to create a rudimentary implementation and perform load
testing etc. My plan is to spread out over multiple machines (2 for a
start), say end-Aug. I am planning to use apache+mod_wsgi

I will share the lessons I learn on this forum and this wiki page:
https://mdp.cti.depaul.edu/wiki/default/page/8692b276-3ddf-4038-9525-bc51060ad1dc


Regards
Anand


On Jul 22, 5:23 pm, Alex Fanjul <[email protected]> wrote:
> Thanks Massimo, Bottiger, good to know some keys that I didn't know,
> like tricks to speed up the app, and the python efficiency  in multicore.
> Excuse my ignorance , but let me enquire a bit more...
>
>     * 10x more requests by only installing a simple package (flup)? or
>       is an special server? or is superman?
>           o Bottiger, I tried to find out some information and
>             documentation about flup but -apart from official trac wiki-
>             it's lack of
>           o Could you give us some introduction about Flup, Prefork
>             server (or whatever it is) and how to install it to improve
>             the performance?
>     * So (according to what I've been reading) I conclude that a great
>       performance machine for stressed production enviroment would be
>       made up of:
>           o Multiple core machine +
>           o Flup Server packages +
>           o Cherokee +
>           o Postgres +
>           o Web2py Tricks
>     * Massimo, in a old thread I read something about a prebuilt vmware
>       with cherokee and web2py, ready to install, is it any news about this?
>           o In terms of "marketing", I think that if we could upload a
>             vmware turnkey appliance to here
>             <http://www.vmware.com/appliances/> (like Django one
>             <http://www.vmware.com/appliances/directory/82433>), it
>             would be increase our presence
>
> Thanks,
> alex f
>
> El 22/07/2009 10:48, mdipierro escribió:
>
>
>
> > With 8 cores and Flup you can probably get close to 1000 requests/
> > second.
> > if you can do any test, let us know what you get.
>
> > Massimo
>
> > On Jul 22, 3:22 am, Bottiger<[email protected]>  wrote:
>
> >> "There are some things that definitively will NOT help:  a multicore
> >> machine. because the python interpreter cannot use
> >> multiple cores efficiently "
>
> >> If you use the prefork flup server not included in Web2Py, each
> >> request is handled by a seperate process so this will bypass the GIL.
> >> It makes a huge difference on my 8 core server. Presumably, Jython
> >> which is GILless would yield the same performance on a multicore
> >> machine.
>
> >> "I will actually argue most of the map/reduce DB out there are slower
> >> then postresql. "
>
> >> For minimal latency, this is probably true, but I am willing to bet
> >> that the latency grows far slower in a map/reduce DB as the number of
> >> simultaneous connection rises.
>
> >> On Jul 22, 1:03 am, mdipierro<[email protected]>  wrote:
>
> >>> This is a complex issues that spans different topics: speed,
> >>> efficiency, scalability.
>
> >>> I am not aware of any major bottle neck in web2py, execpt of the
> >>> database (not the DAL , the actual database) so it is efficiently.
> >>> There are many little tricks you can use to speed applications more:
> >>> - use connection pooling
> >>> - run your app bytecode compiled (press the button)
> >>> - move as much code as you can modules instead of models.
> >>> - discard sessions unless you they have modified
> >>> - store sessions in a memory mapped file
>
> >>> How fast is it (with or without optimizations) depends on the
> >>> architecture. Is there a machine that can give you 1000 request/
> >>> seconds. I do know. It is possible. On my virtual machine I get about
> >>> 100.
>
> >>> There are some things that definitively will NOT help:
> >>> - a multicore machine. because the python interpreter cannot use
> >>> multiple cores efficiently
> >>> - a key/value database. This helps with scalability (i.e. run lots of
> >>> concurrent servers) but not necessarily speeds up a single server. I
> >>> will actually argue most of the map/reduce DB out there are slower
> >>> then postresql.
>
> >>> Massimo
>
> >>> On Jul 21, 8:40 pm, Alex Fanjul<[email protected]>  wrote:
>
> >>>> Hello Massimo (all) this days I'm reading about horizontal scale
> >>>> architectures, key/value and graphs db's, etc. and the awakening in
> >>>> cloud computing enviroment
> >>>> In the last reading, I saw "Redit" benchmark of about 50 to 100
> >>>> thousands req/sec with standard linux box.
>
> >>>> I know those values are due to DB architecture of key/value (and they
> >>>> are really incredible), but:
> >>>>    -what thing is really limiting 1000 req/sec in web2py?
> >>>> cherrypy/apache? mysql/postgres? wscgi/fastcgi? web2pyframework? python?
> >>>>    -what do you think would the upper limit (req/sec) be in the better
> >>>> production enviroment case (great linux server/s, apache/cherokee?, best
> >>>> connection)
> >>>>    -As a matter of curiosity, have you ever though in implementing the
> >>>> API for any of such databases? Redit? Tokyo? couchDB?
>
> >>>> regards,
> >>>> alex f
>
> >>>> P.S as always i'm sorry for my poor english
>
> >>>> El 21/07/2009 15:52, mdipierro escribió:
>
> >>>>> - Are there any large web2py installations that I can quote as an
> >>>>> example
>
> >>>>> Not that I know and handle>1000 requests/second.
>
> >>>>> - How are the issues of caching (say rendered pages) handled? I have
> >>>>> done a few Drupal sites and can see the performance effects of caching
> >>>>> very clearly. IIRC only Django has caching in the python world?
>
> >>>>> If you use multiple installations behind a load balancer I suggest you
> >>>>> use the "pound" load balancer to keep sessions sticky. In that case
> >>>>> the different processes do not need to share any data.
>
> >>>>> - Has anyone done any work with web2py in a cluster (similar to a
> >>>>> Tomcat cluster behind mod_jk)? (multiple machines running web2py, the
> >>>>> session data sync'd etc. I can put the session info in a shared FS
> >>>>> though)
>
> >>>>> If you need sessions and you need sessions synced, I suggest you share
> >>>>> the sessions folder.
>
> >>>>> Massimo
>
> >>>>> On Jul 21, 12:20 am, Bottiger<[email protected]>    wrote:
>
> >>>>>> If it is truly not computationally intensive, and does not even use a
> >>>>>> database, it should not be a problem.
>
> >>>>>> I have benchmarked Web2Py on the static welcome page to 700 requests/
> >>>>>> second with a concurrency level of 50.
>
> >>>>>> To increase the level of concurrency (if you have additional CPU
> >>>>>> cores), you should increase the number of Web2Py processes.
>
> >>>>>> "~ 8000 users, and atleast 1000-2000 simultaneous users."
>
> >>>>>> This is not really a large installation if it doesn't use a database.
>
> >>>>>> "How are the issues of caching (say rendered pages) handled? I have
> >>>>>> done a few Drupal sites and can see the performance effects of caching
> >>>>>> very clearly. IIRC only Django has caching in the python world?"
>
> >>>>>> Drupal, Django, and Web2Py have equivalent caching mechanisms. Any
> >>>>>> external caching mechanism you have seen with Drupal should also be
> >>>>>> usable with Web2Py or Django.
>
> >>>>>> "I can put the session info in a shared FS though"
>
> >>>>>> You can either do that or use a database for sessions.
>
> >>>>>> On Jul 20, 8:54 pm, Anand Vaidya<[email protected]>    wrote:
>
> >>>>>>> Hi
>
> >>>>>>> After a couple of web2py projects, I am confident of coding a fairly
> >>>>>>> big app in web2py.
>
> >>>>>>> My previous projects did not need any database (we had to use
> >>>>>>> flatfiles), the new project is also similar. I intend to bypass the
> >>>>>>> models etc completely.
>
> >>>>>>> The app is likely to be used in a corporate setting with ~ 8000 users,
> >>>>>>> and atleast 1000-2000 simultaneous users.
>
> >>>>>>> The users authenticate to an LDAP server.
>
> >>>>>>> The app is not computationally intensive
>
> >>>>>>> It queries another service and displays results
>
> >>>>>>> No SQL DB is required
>
> >>>>>>> Most likely behind a few Apache 2.x front server
>
> >>>>>>> I'd like to know:
>
> >>>>>>> - Are there any large web2py installations that I can quote as an
> >>>>>>> example
>
> >>>>>>> - How are the issues of caching (say rendered pages) handled? I have
> >>>>>>> done a few Drupal sites and can see the performance effects of caching
> >>>>>>> very clearly. IIRC only Django has caching in the python world?
>
> >>>>>>> - Has anyone done any work with web2py in a cluster (similar to a
> >>>>>>> Tomcat cluster behind mod_jk)? (multiple machines running web2py, the
> >>>>>>> session data sync'd etc. I can put the session info in a shared FS
> >>>>>>> though)
>
> >>>>>>> Regards
> >>>>>>> Anand
>
> >>>> --
> >>>> Alejandro Fanjul Fdez.
> >>>> [email protected]
>
> --
> Alejandro Fanjul Fdez.
> [email protected]
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to