"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
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to