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<bottig...@gmail.com> 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<mdipie...@cs.depaul.edu> 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<alex.fan...@gmail.com> 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<bottig...@gmail.com> 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<anandvaidya...@gmail.com> 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. >>>> alex.fan...@gmail.comwww.mhproject.org >>>> > > > > -- Alejandro Fanjul Fdez. alex.fan...@gmail.com www.mhproject.org --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py-users" group. To post to this group, send email to web2py@googlegroups.com To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/web2py?hl=en -~----------~----~----~----~------~----~------~--~---