Re: [web2py] Re: Discussion: Why is web2py bad for large deployments?

2010-11-16 Thread Martín Mulone
Thanks mariano, it's very usefull.

2010/11/15 Mariano Reingart reing...@gmail.com

 Django is not faster than web2py for real world applications, this
 is my benchmark that proves it (in this particular case, YMMV):

 django: Pycon Argentina 2009 site:
 (based on pycon-tech, pycon 2010 us talk propossal/ site)
 ab -n 100 http://pycon.sistemasagiles.com.ar/2009/about/
 Requests per second:23.13 [#/sec] (mean)
 (it is the original server, then it has been moved to ar.pycon.org)

 web2py: PyDay Buenos Aires 2010
 (based on web2conf, pycon 2010 us registration site)
 ab -n 100 http://www.pyday.com.ar/buenosbench/default/index
 Requests per second:24.53 [#/sec] (mean)

 web2py app it is a striped down version to include only pycon-tech
 about page exposed features (wiki, with menu and sponsor logos).
 web2py app doesn't uses cache and is not optimized (django one is, and
 it is very very very very too much complicated than the web2py app)

 exec vs import is not the most important issue (and I think it isn't
 relevant at all in a full cost vs performance analysis, ROI as you say
 in english).

 The biggest performance penality of web2py I've found is the
 filesystem access (looking for multiples .py files slow downs
 requests/sec).
 In this case (in my tests), each new db_*.py model has a performance
 lost of ~ 5% to 10% .
 Each directory scan has a 1% of performance loss.

 I'm working in some optimizations for compiled apps (avoiding
 directory scanning and saving codeobjects in memory improves a lot,
 but has some drawbacks as all cache systems).
 Maybe when we compile the app can make a sort of dispatcher that
 already knows where the files are, so having to list directories is
 not needed.

 Anyway, we shouldn't have this kind of discussions on web2py-developers
 list?

 When I have some time I'll fully publish this benchmark, just to
 demythologize this issue ;-)
 (the same for the table definition order, that is not really needed
 -there are easy workarounds-)

 Best regards,

 Mariano Reingart
 http://www.sistemasagiles.com.ar
 http://reingart.blogspot.com




-- 
My blog: http://martin.tecnodoc.com.ar
My portfolio *spanish*: http://www.tecnodoc.com.ar
Checkout my last proyect instant-press: http://www.instant2press.com


Re: [web2py] Re: Discussion: Why is web2py bad for large deployments?

2010-11-15 Thread Johann Spies
On 15 November 2010 01:38, Thadeus Burgess thade...@thadeusb.com wrote:

 Doesn't work with code completion, and will be a maintenance nightmare!

 I spent weeks trying different code organisation patterns with web2py
 including what you mentioned, everything I attempted just caused more
 problems and made the code less maintainable.

 Like I keep saying, it all comes down to programmers preference. I started
 programming with Java, therefore I like object oriented programming that
 Flask+SQLAlchemy uses.


Do you use SQLAlchemy with web2py?  How?

Regards
Johann
-- 
 May grace and peace be yours in abundance through the full knowledge of God
and of Jesus our Lord!  His divine power has given us everything we need for
life and godliness through the full knowledge of the one who called us by
his own glory and excellence.
2 Pet. 1:2b,3a


Re: [web2py] Re: Discussion: Why is web2py bad for large deployments?

2010-11-15 Thread Branko Vukelic
On Mon, Nov 15, 2010 at 9:13 AM, Johann Spies johann.sp...@gmail.com wrote:
 Do you use SQLAlchemy with web2py?  How?

I think he meant Flask[1] + SQLAlchemy, not web2py + SQLAlchemy.

[1] http://flask.pocoo.org/


-- 
Branko Vukelić

bg.bra...@gmail.com
stu...@brankovukelic.com

Check out my blog: http://www.brankovukelic.com/
Check out my portfolio: http://www.flickr.com/photos/foxbunny/
Registered Linux user #438078 (http://counter.li.org/)
I hang out on identi.ca: http://identi.ca/foxbunny

Gimp Brushmakers Guild
http://bit.ly/gbg-group


Re: [web2py] Re: Discussion: Why is web2py bad for large deployments?

2010-11-15 Thread Mariano Reingart
Django is not faster than web2py for real world applications, this
is my benchmark that proves it (in this particular case, YMMV):

django: Pycon Argentina 2009 site:
(based on pycon-tech, pycon 2010 us talk propossal/ site)
ab -n 100 http://pycon.sistemasagiles.com.ar/2009/about/
Requests per second:23.13 [#/sec] (mean)
(it is the original server, then it has been moved to ar.pycon.org)

web2py: PyDay Buenos Aires 2010
(based on web2conf, pycon 2010 us registration site)
ab -n 100 http://www.pyday.com.ar/buenosbench/default/index
Requests per second:24.53 [#/sec] (mean)

web2py app it is a striped down version to include only pycon-tech
about page exposed features (wiki, with menu and sponsor logos).
web2py app doesn't uses cache and is not optimized (django one is, and
it is very very very very too much complicated than the web2py app)

exec vs import is not the most important issue (and I think it isn't
relevant at all in a full cost vs performance analysis, ROI as you say
in english).

The biggest performance penality of web2py I've found is the
filesystem access (looking for multiples .py files slow downs
requests/sec).
In this case (in my tests), each new db_*.py model has a performance
lost of ~ 5% to 10% .
Each directory scan has a 1% of performance loss.

I'm working in some optimizations for compiled apps (avoiding
directory scanning and saving codeobjects in memory improves a lot,
but has some drawbacks as all cache systems).
Maybe when we compile the app can make a sort of dispatcher that
already knows where the files are, so having to list directories is
not needed.

Anyway, we shouldn't have this kind of discussions on web2py-developers list?

When I have some time I'll fully publish this benchmark, just to
demythologize this issue ;-)
(the same for the table definition order, that is not really needed
-there are easy workarounds-)

Best regards,

Mariano Reingart
http://www.sistemasagiles.com.ar
http://reingart.blogspot.com


Re: [web2py] Re: Discussion: Why is web2py bad for large deployments?

2010-11-14 Thread Branko Vukelic
On Sun, Nov 14, 2010 at 1:44 AM, b00m_chef r...@devshell.org wrote:
 Let me just say that the chance that your app will have the traffic of
 facebook or twitter or even livejournal (yes it is still alive) is so
 small, that you really don't need to worry about it too much at such
 an early stage.

True.

-- 
Branko Vukelić

bg.bra...@gmail.com
stu...@brankovukelic.com

Check out my blog: http://www.brankovukelic.com/
Check out my portfolio: http://www.flickr.com/photos/foxbunny/
Registered Linux user #438078 (http://counter.li.org/)
I hang out on identi.ca: http://identi.ca/foxbunny

Gimp Brushmakers Guild
http://bit.ly/gbg-group


[web2py] Re: Discussion: Why is web2py bad for large deployments?

2010-11-14 Thread ma...@rockiger.com
+1

Totally  agree with that.


Speed is a luxary problem - concentrate on making an awesome app, not
a fast one.

On Nov 14, 1:44 am, b00m_chef r...@devshell.org wrote:
 Let me just say that the chance that your app will have the traffic of
 facebook or twitter or even livejournal (yes it is still alive) is so
 small, that you really don't need to worry about it too much at such
 an early stage.

 On Nov 13, 3:11 pm, Branko Vukelic bg.bra...@gmail.com wrote:







  On Sat, Nov 13, 2010 at 9:49 PM, Jason Brower encomp...@gmail.com wrote:
   These are encouraging.
   In large deployment I mean it in the most external sense of it.  Facebook 
   is
   big, myspace is big, those kinds of object were what I was aiming for.  
   And

  For that kind of large deployment, you'll probably hit the limitation
  of the Python programming language sooner or later, too. Erlang seems
  to have become quite popular lately and even Facebook uses it for some
  backend stuff. The main reason is out-of-box concurrency, and great
  reliability under load which comes from supervisor-worker setup that
  is built-in. A good example of what this means is Yaws http server
  which is virtually impossible to kill even if you bombard it with a
  huge (as in MUCH more than http server X) number of concurrent
  requests.

  --
  Branko Vukelić

  bg.bra...@gmail.com
  stu...@brankovukelic.com

  Check out my blog:http://www.brankovukelic.com/
  Check out my portfolio:http://www.flickr.com/photos/foxbunny/
  Registered Linux user #438078 (http://counter.li.org/)
  I hang out on identi.ca:http://identi.ca/foxbunny

  Gimp Brushmakers Guildhttp://bit.ly/gbg-group


Re: [web2py] Re: Discussion: Why is web2py bad for large deployments?

2010-11-14 Thread Albert Abril
And I wonder.. in large large large deployments:
I suppose we should use distributed deployment as GAE, EC2.. or run on our
servers APPScale, typhoonae, eucalyptus.
I know we are not talking about the same, but there's related with that.




On Sun, Nov 14, 2010 at 11:38 AM, Branko Vukelic bg.bra...@gmail.comwrote:

 On Sun, Nov 14, 2010 at 1:44 AM, b00m_chef r...@devshell.org wrote:
  Let me just say that the chance that your app will have the traffic of
  facebook or twitter or even livejournal (yes it is still alive) is so
  small, that you really don't need to worry about it too much at such
  an early stage.

 True.

 --
 Branko Vukelić

 bg.bra...@gmail.com
 stu...@brankovukelic.com

 Check out my blog: http://www.brankovukelic.com/
 Check out my portfolio: http://www.flickr.com/photos/foxbunny/
 Registered Linux user #438078 (http://counter.li.org/)
 I hang out on identi.ca: http://identi.ca/foxbunny

 Gimp Brushmakers Guild
 http://bit.ly/gbg-group



Re: [web2py] Re: Discussion: Why is web2py bad for large deployments?

2010-11-14 Thread José Ignacio Hurtado
A good advise, but, not always possible. I am considering to migrate an App
in the range of 70-100 tables to web2py and there are tables that are like
pillars, belong to several groups (customers, employees, projects,...) How
we could manage this shared tables?

Also sometimes its hard to determine an order for the tables to avoid
referencing a still undefined table.

There is another type of large applications, enterprise level with hundreds
or thousands of tables. The approach of multiples apps sharing same database
is useful, but how could we solve the division of tables in apps, is it
better to define the model in one place and import the required tables on
the apps?

Jose.

2010/11/14 mdipierro mdipie...@cs.depaul.edu

 I agree that there are things we can improve in web2py.

 Yet, if a complex application have many pieces that are untangled, the
 import mechanism does not necessarily help you. The solution is trying
 to design components that are relatively independent. If you can do
 this, web2py does not bet in the way. For example, you have 100 tables
 functionally grouped in ~10 and all they need to share is
 authentication, you may want to separate the functions in 10 different
 web2py applications (all sharing one database, each defining only the
 tables it needs, and sharing one session cookie). This modular design
 solves lots of problems.

 I have heard of people who have developed complex applications in
 Django (which uses the import you suggest) and run into problems
 because they were using more ram than needed since all modules were
 always imported. In web2py controllers are executed only when called
 and if you make many small controllers you save lots of memory.
 Controllers than then import the modules they need and only those.

 Massimo

 On Nov 13, 7:28 pm, Thadeus Burgess thade...@thadeusb.com wrote:
  The biggest contributing factor is that web2py is executed and not
 import.
  The coder must always be sure to align objects and database in the
 correct
  order, including any auxiliary functions, class mappings, queries. He/she
  has to worry about the order of everything. Sometimes you can't have
 such
  order for complex systems. I think an import based system solves this in
  that the import statements declare the order instead of the physical
  location of the code doing that.
 
  --
  Thadeus
 
  On Sat, Nov 13, 2010 at 2:49 PM, Jason Brower encomp...@gmail.com
 wrote:
These are encouraging.
   In large deployment I mean it in the most external sense of it.
  Facebook
   is big, myspace is big, those kinds of object were what I was aiming
 for.
   And with Massimo's comment about the database size.  I think your
 right, the
   framework does become less relavent.  In what ways in a large codebase
   making web2py code messier and is there a solution to it in another
   framework?
   BR,
   J
 
   On Sat, 2010-11-13 at 11:48 -0600, Thadeus Burgess wrote:
 
   What is large deployment?
 
   Is it a large codebase that you must manage for an internal dashbaord,
 or
   just alot of users/database io that needs to scale out for worldwide
 access?
 
   If its the first case, web2py can get really complicated in dealing
 with
   lots of models and difficult to manage in an efficient manner. The
 larger
   your codebase the messier web2py apps will become. In the end, this
 would
   ultimately be up to the preferences of you and your team and what your
   willing to put up with.
 
   In the second case, framework hardly matters at that point. Disqus uses
   django, facebook uses php, reddit uses pylons, myspace uses coldfusion,
   microsoft uses asp, oracle uses java. Its always the database that
 becomes
   an issue regardless of programming language or web framework.
 
   --
   Thadeus
 
On Sat, Nov 13, 2010 at 10:53 AM, mdipierro mdipie...@cs.depaul.edu
   wrote:
 
   I agree with Villas. The larger the development the more the database
   becomes the bottleneck and the framework irrelevant.
 
   Massimo
 
   On Nov 13, 8:35 am, villas villa...@gmail.com wrote:
Hi Jason
 
I guess you have to define 'large deployment' first of all.  Number
 of
records and size of DB? Number of concurrent users? Large data model
or number of forms etc?  Number of servers -- or replication?  Global
coverage?
 
In principle I don't think there's any reason why Web2py would be
worse than other frameworks.  Usually it is much better!  As an
example,  I think deploying to the Google App Engine should be able
 to
scale sufficiently for everything but extreme cases :)
 
If you specify more about what you wish to achieve this group may be
able to give more specific advice how best to organise your project.
 
-D
 
On Nov 13, 7:12 am, Jason Brower encomp...@gmail.com wrote:
 
 I love web2py and it's the only framework i feel i am fully capable
 to
   do or learn to do quickly.
 However, I remember see that this framework is intended for 

Re: [web2py] Re: Discussion: Why is web2py bad for large deployments?

2010-11-14 Thread Branko Vukelic
2010/11/14 José Ignacio Hurtado jose.i.hurt...@gmail.com:
 A good advise, but, not always possible. I am considering to migrate an App
 in the range of 70-100 tables to web2py and there are tables that are like

I thought it would become obvious by now that you cannot _keep your
existing architecture_ if your app hits the limits of scalability of
_that_ architecture...


-- 
Branko Vukelić

bg.bra...@gmail.com
stu...@brankovukelic.com

Check out my blog: http://www.brankovukelic.com/
Check out my portfolio: http://www.flickr.com/photos/foxbunny/
Registered Linux user #438078 (http://counter.li.org/)
I hang out on identi.ca: http://identi.ca/foxbunny

Gimp Brushmakers Guild
http://bit.ly/gbg-group


Re: [web2py] Re: Discussion: Why is web2py bad for large deployments?

2010-11-14 Thread Branko Vukelic
On Sun, Nov 14, 2010 at 1:51 PM, Branko Vukelic bg.bra...@gmail.com wrote:
 2010/11/14 José Ignacio Hurtado jose.i.hurt...@gmail.com:
 A good advise, but, not always possible. I am considering to migrate an App
 in the range of 70-100 tables to web2py and there are tables that are like

 I thought it would become obvious by now that you cannot _keep your
 existing architecture_ if your app hits the limits of scalability of
 _that_ architecture...


Substitute architecture with design (or whatever you find more
fitting) if my hobbyist terminology is not correct.

-- 
Branko Vukelić

bg.bra...@gmail.com
stu...@brankovukelic.com

Check out my blog: http://www.brankovukelic.com/
Check out my portfolio: http://www.flickr.com/photos/foxbunny/
Registered Linux user #438078 (http://counter.li.org/)
I hang out on identi.ca: http://identi.ca/foxbunny

Gimp Brushmakers Guild
http://bit.ly/gbg-group


Re: [web2py] Re: Discussion: Why is web2py bad for large deployments?

2010-11-14 Thread José Ignacio Hurtado
I was trying to make a point and talk about boundaries of web2py and large
applications, or better, applications with large models.

I see the limits of scalability way far ;)

2010/11/14 Branko Vukelic bg.bra...@gmail.com

 On Sun, Nov 14, 2010 at 1:51 PM, Branko Vukelic bg.bra...@gmail.com
 wrote:
  2010/11/14 José Ignacio Hurtado jose.i.hurt...@gmail.com:
  A good advise, but, not always possible. I am considering to migrate an
 App
  in the range of 70-100 tables to web2py and there are tables that are
 like
 
  I thought it would become obvious by now that you cannot _keep your
  existing architecture_ if your app hits the limits of scalability of
  _that_ architecture...


 Substitute architecture with design (or whatever you find more
 fitting) if my hobbyist terminology is not correct.

 --
 Branko Vukelić

 bg.bra...@gmail.com
 stu...@brankovukelic.com

 Check out my blog: http://www.brankovukelic.com/
 Check out my portfolio: http://www.flickr.com/photos/foxbunny/
 Registered Linux user #438078 (http://counter.li.org/)
 I hang out on identi.ca: http://identi.ca/foxbunny

 Gimp Brushmakers Guild
 http://bit.ly/gbg-group




-- 
Un saludo,

José Ignacio Hurtado López


Re: [web2py] Re: Discussion: Why is web2py bad for large deployments?

2010-11-14 Thread Thadeus Burgess
A good advise, but, not always possible. I am considering to migrate an
App in the range of 70-100 tables to web2py and there are tables that are
like pillars, belong to several groups (customers, employees, projects,...)
How we could manage this shared tables?

Also sometimes its hard to determine an order for the tables to avoid
referencing a still undefined table.

There is another type of large applications, enterprise level with
hundreds or thousands of tables. The approach of multiples apps sharing same
database is useful, but how could we solve the division of tables in apps,
is it better to define the model in one place and import the required
tables on the apps?



This is why I prefer Flask + SQLAlchemy.

--
Thadeus




2010/11/14 José Ignacio Hurtado jose.i.hurt...@gmail.com

 A good advise, but, not always possible. I am considering to migrate an App
 in the range of 70-100 tables to web2py and there are tables that are like
 pillars, belong to several groups (customers, employees, projects,...) How
 we could manage this shared tables?

 Also sometimes its hard to determine an order for the tables to avoid
 referencing a still undefined table.

 There is another type of large applications, enterprise level with hundreds
 or thousands of tables. The approach of multiples apps sharing same database
 is useful, but how could we solve the division of tables in apps, is it
 better to define the model in one place and import the required tables on
 the apps?

 Jose.

 2010/11/14 mdipierro mdipie...@cs.depaul.edu

 I agree that there are things we can improve in web2py.

 Yet, if a complex application have many pieces that are untangled, the
 import mechanism does not necessarily help you. The solution is trying
 to design components that are relatively independent. If you can do
 this, web2py does not bet in the way. For example, you have 100 tables
 functionally grouped in ~10 and all they need to share is
 authentication, you may want to separate the functions in 10 different
 web2py applications (all sharing one database, each defining only the
 tables it needs, and sharing one session cookie). This modular design
 solves lots of problems.

 I have heard of people who have developed complex applications in
 Django (which uses the import you suggest) and run into problems
 because they were using more ram than needed since all modules were
 always imported. In web2py controllers are executed only when called
 and if you make many small controllers you save lots of memory.
 Controllers than then import the modules they need and only those.

 Massimo

 On Nov 13, 7:28 pm, Thadeus Burgess thade...@thadeusb.com wrote:
  The biggest contributing factor is that web2py is executed and not
 import.
  The coder must always be sure to align objects and database in the
 correct
  order, including any auxiliary functions, class mappings, queries.
 He/she
  has to worry about the order of everything. Sometimes you can't have
 such
  order for complex systems. I think an import based system solves this in
  that the import statements declare the order instead of the physical
  location of the code doing that.
 
  --
  Thadeus
 
  On Sat, Nov 13, 2010 at 2:49 PM, Jason Brower encomp...@gmail.com
 wrote:
These are encouraging.
   In large deployment I mean it in the most external sense of it.
  Facebook
   is big, myspace is big, those kinds of object were what I was aiming
 for.
   And with Massimo's comment about the database size.  I think your
 right, the
   framework does become less relavent.  In what ways in a large codebase
   making web2py code messier and is there a solution to it in another
   framework?
   BR,
   J
 
   On Sat, 2010-11-13 at 11:48 -0600, Thadeus Burgess wrote:
 
   What is large deployment?
 
   Is it a large codebase that you must manage for an internal dashbaord,
 or
   just alot of users/database io that needs to scale out for worldwide
 access?
 
   If its the first case, web2py can get really complicated in dealing
 with
   lots of models and difficult to manage in an efficient manner. The
 larger
   your codebase the messier web2py apps will become. In the end, this
 would
   ultimately be up to the preferences of you and your team and what your
   willing to put up with.
 
   In the second case, framework hardly matters at that point. Disqus
 uses
   django, facebook uses php, reddit uses pylons, myspace uses
 coldfusion,
   microsoft uses asp, oracle uses java. Its always the database that
 becomes
   an issue regardless of programming language or web framework.
 
   --
   Thadeus
 
On Sat, Nov 13, 2010 at 10:53 AM, mdipierro mdipie...@cs.depaul.edu
 
   wrote:
 
   I agree with Villas. The larger the development the more the database
   becomes the bottleneck and the framework irrelevant.
 
   Massimo
 
   On Nov 13, 8:35 am, villas villa...@gmail.com wrote:
Hi Jason
 
I guess you have to define 'large deployment' first of all.  Number
 of
records and size 

[web2py] Re: Discussion: Why is web2py bad for large deployments?

2010-11-14 Thread mdipierro
Nothing prevents you in web2py to create a

   modules/models/mymodel.py

then

   import applications.yourapp/modules/models.mymodel.py

and then call a function in there that defines the tables you need.
And you can have more than one mymodel.

This anyway will be easy if we add support for lazy tables and thread
local globals.


On Nov 14, 10:36 am, Thadeus Burgess thade...@thadeusb.com wrote:
 A good advise, but, not always possible. I am considering to migrate an

 App in the range of 70-100 tables to web2py and there are tables that are
 like pillars, belong to several groups (customers, employees, projects,...)
 How we could manage this shared tables?

 Also sometimes its hard to determine an order for the tables to avoid

 referencing a still undefined table.

 There is another type of large applications, enterprise level with

 hundreds or thousands of tables. The approach of multiples apps sharing same
 database is useful, but how could we solve the division of tables in apps,
 is it better to define the model in one place and import the required
 tables on the apps?

 This is why I prefer Flask + SQLAlchemy.

 --
 Thadeus

 2010/11/14 José Ignacio Hurtado jose.i.hurt...@gmail.com

  A good advise, but, not always possible. I am considering to migrate an App
  in the range of 70-100 tables to web2py and there are tables that are like
  pillars, belong to several groups (customers, employees, projects,...) How
  we could manage this shared tables?

  Also sometimes its hard to determine an order for the tables to avoid
  referencing a still undefined table.

  There is another type of large applications, enterprise level with hundreds
  or thousands of tables. The approach of multiples apps sharing same database
  is useful, but how could we solve the division of tables in apps, is it
  better to define the model in one place and import the required tables on
  the apps?

  Jose.

  2010/11/14 mdipierro mdipie...@cs.depaul.edu

  I agree that there are things we can improve in web2py.

  Yet, if a complex application have many pieces that are untangled, the
  import mechanism does not necessarily help you. The solution is trying
  to design components that are relatively independent. If you can do
  this, web2py does not bet in the way. For example, you have 100 tables
  functionally grouped in ~10 and all they need to share is
  authentication, you may want to separate the functions in 10 different
  web2py applications (all sharing one database, each defining only the
  tables it needs, and sharing one session cookie). This modular design
  solves lots of problems.

  I have heard of people who have developed complex applications in
  Django (which uses the import you suggest) and run into problems
  because they were using more ram than needed since all modules were
  always imported. In web2py controllers are executed only when called
  and if you make many small controllers you save lots of memory.
  Controllers than then import the modules they need and only those.

  Massimo

  On Nov 13, 7:28 pm, Thadeus Burgess thade...@thadeusb.com wrote:
   The biggest contributing factor is that web2py is executed and not
  import.
   The coder must always be sure to align objects and database in the
  correct
   order, including any auxiliary functions, class mappings, queries.
  He/she
   has to worry about the order of everything. Sometimes you can't have
  such
   order for complex systems. I think an import based system solves this in
   that the import statements declare the order instead of the physical
   location of the code doing that.

   --
   Thadeus

   On Sat, Nov 13, 2010 at 2:49 PM, Jason Brower encomp...@gmail.com
  wrote:
 These are encouraging.
In large deployment I mean it in the most external sense of it.
   Facebook
is big, myspace is big, those kinds of object were what I was aiming
  for.
And with Massimo's comment about the database size.  I think your
  right, the
framework does become less relavent.  In what ways in a large codebase
making web2py code messier and is there a solution to it in another
framework?
BR,
J

On Sat, 2010-11-13 at 11:48 -0600, Thadeus Burgess wrote:

What is large deployment?

Is it a large codebase that you must manage for an internal dashbaord,
  or
just alot of users/database io that needs to scale out for worldwide
  access?

If its the first case, web2py can get really complicated in dealing
  with
lots of models and difficult to manage in an efficient manner. The
  larger
your codebase the messier web2py apps will become. In the end, this
  would
ultimately be up to the preferences of you and your team and what your
willing to put up with.

In the second case, framework hardly matters at that point. Disqus
  uses
django, facebook uses php, reddit uses pylons, myspace uses
  coldfusion,
microsoft uses asp, oracle uses java. Its always the database that
  becomes

Re: [web2py] Re: Discussion: Why is web2py bad for large deployments?

2010-11-14 Thread Thadeus Burgess
Doesn't work with code completion, and will be a maintenance nightmare!

I spent weeks trying different code organisation patterns with web2py
including what you mentioned, everything I attempted just caused more
problems and made the code less maintainable.

Like I keep saying, it all comes down to programmers preference. I started
programming with Java, therefore I like object oriented programming that
Flask+SQLAlchemy uses.

--
Thadeus




On Sun, Nov 14, 2010 at 11:23 AM, mdipierro mdipie...@cs.depaul.edu wrote:

 Nothing prevents you in web2py to create a

   modules/models/mymodel.py

 then

   import applications.yourapp/modules/models.mymodel.py

 and then call a function in there that defines the tables you need.
 And you can have more than one mymodel.

 This anyway will be easy if we add support for lazy tables and thread
 local globals.


 On Nov 14, 10:36 am, Thadeus Burgess thade...@thadeusb.com wrote:
  A good advise, but, not always possible. I am considering to migrate
 an
 
  App in the range of 70-100 tables to web2py and there are tables that are
  like pillars, belong to several groups (customers, employees,
 projects,...)
  How we could manage this shared tables?
 
  Also sometimes its hard to determine an order for the tables to avoid
 
  referencing a still undefined table.
 
  There is another type of large applications, enterprise level with
 
  hundreds or thousands of tables. The approach of multiples apps sharing
 same
  database is useful, but how could we solve the division of tables in
 apps,
  is it better to define the model in one place and import the
 required
  tables on the apps?
 
  This is why I prefer Flask + SQLAlchemy.
 
  --
  Thadeus
 
  2010/11/14 José Ignacio Hurtado jose.i.hurt...@gmail.com
 
   A good advise, but, not always possible. I am considering to migrate an
 App
   in the range of 70-100 tables to web2py and there are tables that are
 like
   pillars, belong to several groups (customers, employees, projects,...)
 How
   we could manage this shared tables?
 
   Also sometimes its hard to determine an order for the tables to avoid
   referencing a still undefined table.
 
   There is another type of large applications, enterprise level with
 hundreds
   or thousands of tables. The approach of multiples apps sharing same
 database
   is useful, but how could we solve the division of tables in apps, is it
   better to define the model in one place and import the required
 tables on
   the apps?
 
   Jose.
 
   2010/11/14 mdipierro mdipie...@cs.depaul.edu
 
   I agree that there are things we can improve in web2py.
 
   Yet, if a complex application have many pieces that are untangled, the
   import mechanism does not necessarily help you. The solution is trying
   to design components that are relatively independent. If you can do
   this, web2py does not bet in the way. For example, you have 100 tables
   functionally grouped in ~10 and all they need to share is
   authentication, you may want to separate the functions in 10 different
   web2py applications (all sharing one database, each defining only the
   tables it needs, and sharing one session cookie). This modular design
   solves lots of problems.
 
   I have heard of people who have developed complex applications in
   Django (which uses the import you suggest) and run into problems
   because they were using more ram than needed since all modules were
   always imported. In web2py controllers are executed only when called
   and if you make many small controllers you save lots of memory.
   Controllers than then import the modules they need and only those.
 
   Massimo
 
   On Nov 13, 7:28 pm, Thadeus Burgess thade...@thadeusb.com wrote:
The biggest contributing factor is that web2py is executed and not
   import.
The coder must always be sure to align objects and database in the
   correct
order, including any auxiliary functions, class mappings, queries.
   He/she
has to worry about the order of everything. Sometimes you can't
 have
   such
order for complex systems. I think an import based system solves
 this in
that the import statements declare the order instead of the physical
location of the code doing that.
 
--
Thadeus
 
On Sat, Nov 13, 2010 at 2:49 PM, Jason Brower encomp...@gmail.com
   wrote:
  These are encouraging.
 In large deployment I mean it in the most external sense of it.
Facebook
 is big, myspace is big, those kinds of object were what I was
 aiming
   for.
 And with Massimo's comment about the database size.  I think your
   right, the
 framework does become less relavent.  In what ways in a large
 codebase
 making web2py code messier and is there a solution to it in
 another
 framework?
 BR,
 J
 
 On Sat, 2010-11-13 at 11:48 -0600, Thadeus Burgess wrote:
 
 What is large deployment?
 
 Is it a large codebase that you must manage for an internal
 dashbaord,
   or
 just alot 

[web2py] Re: Discussion: Why is web2py bad for large deployments?

2010-11-13 Thread villas
Hi Jason

I guess you have to define 'large deployment' first of all.  Number of
records and size of DB? Number of concurrent users? Large data model
or number of forms etc?  Number of servers -- or replication?  Global
coverage?

In principle I don't think there's any reason why Web2py would be
worse than other frameworks.  Usually it is much better!  As an
example,  I think deploying to the Google App Engine should be able to
scale sufficiently for everything but extreme cases :)

If you specify more about what you wish to achieve this group may be
able to give more specific advice how best to organise your project.

-D

On Nov 13, 7:12 am, Jason Brower encomp...@gmail.com wrote:
 I love web2py and it's the only framework i feel i am fully capable to do or 
 learn to do quickly.
 However, I remember see that this framework is intended for small to medium 
 sized deployments. Is this true? What is it that stops us from larger 
 deployment? Should i pickup django because i may need it?
 Regards,
 jb


[web2py] Re: Discussion: Why is web2py bad for large deployments?

2010-11-13 Thread mdipierro
I agree with Villas. The larger the development the more the database
becomes the bottleneck and the framework irrelevant.

Massimo

On Nov 13, 8:35 am, villas villa...@gmail.com wrote:
 Hi Jason

 I guess you have to define 'large deployment' first of all.  Number of
 records and size of DB? Number of concurrent users? Large data model
 or number of forms etc?  Number of servers -- or replication?  Global
 coverage?

 In principle I don't think there's any reason why Web2py would be
 worse than other frameworks.  Usually it is much better!  As an
 example,  I think deploying to the Google App Engine should be able to
 scale sufficiently for everything but extreme cases :)

 If you specify more about what you wish to achieve this group may be
 able to give more specific advice how best to organise your project.

 -D

 On Nov 13, 7:12 am, Jason Brower encomp...@gmail.com wrote:

  I love web2py and it's the only framework i feel i am fully capable to do 
  or learn to do quickly.
  However, I remember see that this framework is intended for small to medium 
  sized deployments. Is this true? What is it that stops us from larger 
  deployment? Should i pickup django because i may need it?
  Regards,
  jb




Re: [web2py] Re: Discussion: Why is web2py bad for large deployments?

2010-11-13 Thread Thadeus Burgess
What is large deployment?

Is it a large codebase that you must manage for an internal dashbaord, or
just alot of users/database io that needs to scale out for worldwide access?

If its the first case, web2py can get really complicated in dealing with
lots of models and difficult to manage in an efficient manner. The larger
your codebase the messier web2py apps will become. In the end, this would
ultimately be up to the preferences of you and your team and what your
willing to put up with.

In the second case, framework hardly matters at that point. Disqus uses
django, facebook uses php, reddit uses pylons, myspace uses coldfusion,
microsoft uses asp, oracle uses java. Its always the database that becomes
an issue regardless of programming language or web framework.

--
Thadeus




On Sat, Nov 13, 2010 at 10:53 AM, mdipierro mdipie...@cs.depaul.edu wrote:

 I agree with Villas. The larger the development the more the database
 becomes the bottleneck and the framework irrelevant.

 Massimo

 On Nov 13, 8:35 am, villas villa...@gmail.com wrote:
  Hi Jason
 
  I guess you have to define 'large deployment' first of all.  Number of
  records and size of DB? Number of concurrent users? Large data model
  or number of forms etc?  Number of servers -- or replication?  Global
  coverage?
 
  In principle I don't think there's any reason why Web2py would be
  worse than other frameworks.  Usually it is much better!  As an
  example,  I think deploying to the Google App Engine should be able to
  scale sufficiently for everything but extreme cases :)
 
  If you specify more about what you wish to achieve this group may be
  able to give more specific advice how best to organise your project.
 
  -D
 
  On Nov 13, 7:12 am, Jason Brower encomp...@gmail.com wrote:
 
   I love web2py and it's the only framework i feel i am fully capable to
 do or learn to do quickly.
   However, I remember see that this framework is intended for small to
 medium sized deployments. Is this true? What is it that stops us from larger
 deployment? Should i pickup django because i may need it?
   Regards,
   jb
 
 



[web2py] Re: Discussion: Why is web2py bad for large deployments?

2010-11-13 Thread mdipierro
We are considering making this even easier.
Two non-exclusive proposals on the table are:
1) make conditional models that are executed only for some controllers
2) promote the global objects (request,session,response,T,cache) to be
thread local (as in Flask) so that they can be imported by modules and
they do not have to be passed around. (Auth,Crud,Service could also be
written).

The problem is that we do not know if this will affect performance and
it may potentially break something.
We'll keep experimenting.

Massimo


On Nov 13, 1:48 pm, b00m_chef r...@devshell.org wrote:
 I disagree that web2py would become messy wrt the code-base. The
 solution I found was to simply put all my actual logic code in
 modules, then, I simply call up the specific object method in the
 controller function linked to the particular html file (view). I
 therefore don't keep any code in the Controller except object method
 calls to the module where the actual code resides. Within the module
 file, I can organize my data anyway I want.

 Django is no more organized, and no less organized.

 Most important thing to remember is that when you get to a size that
 web2py is no longer suitable, you probably have enough funding to pay
 a team of coders to write your app in pylons from scratch. Web2py can
 get you to that point though.

 On Nov 13, 9:48 am, Thadeus Burgess thade...@thadeusb.com wrote:

  What is large deployment?

  Is it a large codebase that you must manage for an internal dashbaord, or
  just alot of users/database io that needs to scale out for worldwide access?

  If its the first case, web2py can get really complicated in dealing with
  lots of models and difficult to manage in an efficient manner. The larger
  your codebase the messier web2py apps will become. In the end, this would
  ultimately be up to the preferences of you and your team and what your
  willing to put up with.

  In the second case, framework hardly matters at that point. Disqus uses
  django, facebook uses php, reddit uses pylons, myspace uses coldfusion,
  microsoft uses asp, oracle uses java. Its always the database that becomes
  an issue regardless of programming language or web framework.

  --
  Thadeus

  On Sat, Nov 13, 2010 at 10:53 AM, mdipierro mdipie...@cs.depaul.edu wrote:
   I agree with Villas. The larger the development the more the database
   becomes the bottleneck and the framework irrelevant.

   Massimo

   On Nov 13, 8:35 am, villas villa...@gmail.com wrote:
Hi Jason

I guess you have to define 'large deployment' first of all.  Number of
records and size of DB? Number of concurrent users? Large data model
or number of forms etc?  Number of servers -- or replication?  Global
coverage?

In principle I don't think there's any reason why Web2py would be
worse than other frameworks.  Usually it is much better!  As an
example,  I think deploying to the Google App Engine should be able to
scale sufficiently for everything but extreme cases :)

If you specify more about what you wish to achieve this group may be
able to give more specific advice how best to organise your project.

-D

On Nov 13, 7:12 am, Jason Brower encomp...@gmail.com wrote:

 I love web2py and it's the only framework i feel i am fully capable to
   do or learn to do quickly.
 However, I remember see that this framework is intended for small to
   medium sized deployments. Is this true? What is it that stops us from 
   larger
   deployment? Should i pickup django because i may need it?
 Regards,
 jb




Re: [web2py] Re: Discussion: Why is web2py bad for large deployments?

2010-11-13 Thread Jason Brower
These are encouraging.
In large deployment I mean it in the most external sense of it.
Facebook is big, myspace is big, those kinds of object were what I was
aiming for.  And with Massimo's comment about the database size.  I
think your right, the framework does become less relavent.  In what ways
in a large codebase making web2py code messier and is there a solution
to it in another framework?
BR,
J
On Sat, 2010-11-13 at 11:48 -0600, Thadeus Burgess wrote:

 What is large deployment?
 
 Is it a large codebase that you must manage for an internal dashbaord,
 or just alot of users/database io that needs to scale out for
 worldwide access?
 
 If its the first case, web2py can get really complicated in dealing
 with lots of models and difficult to manage in an efficient manner.
 The larger your codebase the messier web2py apps will become. In the
 end, this would ultimately be up to the preferences of you and your
 team and what your willing to put up with.
 
 In the second case, framework hardly matters at that point. Disqus
 uses django, facebook uses php, reddit uses pylons, myspace uses
 coldfusion, microsoft uses asp, oracle uses java. Its always the
 database that becomes an issue regardless of programming language or
 web framework.
 
 --
 Thadeus
 
 
 
 
 
 On Sat, Nov 13, 2010 at 10:53 AM, mdipierro mdipie...@cs.depaul.edu
 wrote:
 
 I agree with Villas. The larger the development the more the
 database
 becomes the bottleneck and the framework irrelevant.
 
 Massimo
 
 
 
 On Nov 13, 8:35 am, villas villa...@gmail.com wrote:
  Hi Jason
 
  I guess you have to define 'large deployment' first of all.
  Number of
  records and size of DB? Number of concurrent users? Large
 data model
  or number of forms etc?  Number of servers -- or
 replication?  Global
  coverage?
 
  In principle I don't think there's any reason why Web2py
 would be
  worse than other frameworks.  Usually it is much better!  As
 an
  example,  I think deploying to the Google App Engine should
 be able to
  scale sufficiently for everything but extreme cases :)
 
  If you specify more about what you wish to achieve this
 group may be
  able to give more specific advice how best to organise your
 project.
 
  -D
 
  On Nov 13, 7:12 am, Jason Brower encomp...@gmail.com
 wrote:
 
   I love web2py and it's the only framework i feel i am
 fully capable to do or learn to do quickly.
   However, I remember see that this framework is intended
 for small to medium sized deployments. Is this true? What is
 it that stops us from larger deployment? Should i pickup
 django because i may need it?
   Regards,
   jb
 
 
 
 
 




Re: [web2py] Re: Discussion: Why is web2py bad for large deployments?

2010-11-13 Thread Branko Vukelic
On Sat, Nov 13, 2010 at 9:49 PM, Jason Brower encomp...@gmail.com wrote:
 These are encouraging.
 In large deployment I mean it in the most external sense of it.  Facebook is
 big, myspace is big, those kinds of object were what I was aiming for.  And

For that kind of large deployment, you'll probably hit the limitation
of the Python programming language sooner or later, too. Erlang seems
to have become quite popular lately and even Facebook uses it for some
backend stuff. The main reason is out-of-box concurrency, and great
reliability under load which comes from supervisor-worker setup that
is built-in. A good example of what this means is Yaws http server
which is virtually impossible to kill even if you bombard it with a
huge (as in MUCH more than http server X) number of concurrent
requests.

-- 
Branko Vukelić

bg.bra...@gmail.com
stu...@brankovukelic.com

Check out my blog: http://www.brankovukelic.com/
Check out my portfolio: http://www.flickr.com/photos/foxbunny/
Registered Linux user #438078 (http://counter.li.org/)
I hang out on identi.ca: http://identi.ca/foxbunny

Gimp Brushmakers Guild
http://bit.ly/gbg-group


[web2py] Re: Discussion: Why is web2py bad for large deployments?

2010-11-13 Thread b00m_chef
Let me just say that the chance that your app will have the traffic of
facebook or twitter or even livejournal (yes it is still alive) is so
small, that you really don't need to worry about it too much at such
an early stage.



On Nov 13, 3:11 pm, Branko Vukelic bg.bra...@gmail.com wrote:
 On Sat, Nov 13, 2010 at 9:49 PM, Jason Brower encomp...@gmail.com wrote:
  These are encouraging.
  In large deployment I mean it in the most external sense of it.  Facebook is
  big, myspace is big, those kinds of object were what I was aiming for.  And

 For that kind of large deployment, you'll probably hit the limitation
 of the Python programming language sooner or later, too. Erlang seems
 to have become quite popular lately and even Facebook uses it for some
 backend stuff. The main reason is out-of-box concurrency, and great
 reliability under load which comes from supervisor-worker setup that
 is built-in. A good example of what this means is Yaws http server
 which is virtually impossible to kill even if you bombard it with a
 huge (as in MUCH more than http server X) number of concurrent
 requests.

 --
 Branko Vukelić

 bg.bra...@gmail.com
 stu...@brankovukelic.com

 Check out my blog:http://www.brankovukelic.com/
 Check out my portfolio:http://www.flickr.com/photos/foxbunny/
 Registered Linux user #438078 (http://counter.li.org/)
 I hang out on identi.ca:http://identi.ca/foxbunny

 Gimp Brushmakers Guildhttp://bit.ly/gbg-group


Re: [web2py] Re: Discussion: Why is web2py bad for large deployments?

2010-11-13 Thread Thadeus Burgess
The biggest contributing factor is that web2py is executed and not import.
The coder must always be sure to align objects and database in the correct
order, including any auxiliary functions, class mappings, queries. He/she
has to worry about the order of everything. Sometimes you can't have such
order for complex systems. I think an import based system solves this in
that the import statements declare the order instead of the physical
location of the code doing that.

--
Thadeus




On Sat, Nov 13, 2010 at 2:49 PM, Jason Brower encomp...@gmail.com wrote:

  These are encouraging.
 In large deployment I mean it in the most external sense of it.  Facebook
 is big, myspace is big, those kinds of object were what I was aiming for.
 And with Massimo's comment about the database size.  I think your right, the
 framework does become less relavent.  In what ways in a large codebase
 making web2py code messier and is there a solution to it in another
 framework?
 BR,
 J

 On Sat, 2010-11-13 at 11:48 -0600, Thadeus Burgess wrote:

 What is large deployment?

 Is it a large codebase that you must manage for an internal dashbaord, or
 just alot of users/database io that needs to scale out for worldwide access?

 If its the first case, web2py can get really complicated in dealing with
 lots of models and difficult to manage in an efficient manner. The larger
 your codebase the messier web2py apps will become. In the end, this would
 ultimately be up to the preferences of you and your team and what your
 willing to put up with.

 In the second case, framework hardly matters at that point. Disqus uses
 django, facebook uses php, reddit uses pylons, myspace uses coldfusion,
 microsoft uses asp, oracle uses java. Its always the database that becomes
 an issue regardless of programming language or web framework.

 --
 Thadeus




  On Sat, Nov 13, 2010 at 10:53 AM, mdipierro mdipie...@cs.depaul.edu
 wrote:

 I agree with Villas. The larger the development the more the database
 becomes the bottleneck and the framework irrelevant.

 Massimo



 On Nov 13, 8:35 am, villas villa...@gmail.com wrote:
  Hi Jason
 
  I guess you have to define 'large deployment' first of all.  Number of
  records and size of DB? Number of concurrent users? Large data model
  or number of forms etc?  Number of servers -- or replication?  Global
  coverage?
 
  In principle I don't think there's any reason why Web2py would be
  worse than other frameworks.  Usually it is much better!  As an
  example,  I think deploying to the Google App Engine should be able to
  scale sufficiently for everything but extreme cases :)
 
  If you specify more about what you wish to achieve this group may be
  able to give more specific advice how best to organise your project.
 
  -D
 
  On Nov 13, 7:12 am, Jason Brower encomp...@gmail.com wrote:
 
   I love web2py and it's the only framework i feel i am fully capable to
 do or learn to do quickly.
   However, I remember see that this framework is intended for small to
 medium sized deployments. Is this true? What is it that stops us from larger
 deployment? Should i pickup django because i may need it?
   Regards,
   jb
 
 






[web2py] Re: Discussion: Why is web2py bad for large deployments?

2010-11-13 Thread mdipierro
I agree that there are things we can improve in web2py.

Yet, if a complex application have many pieces that are untangled, the
import mechanism does not necessarily help you. The solution is trying
to design components that are relatively independent. If you can do
this, web2py does not bet in the way. For example, you have 100 tables
functionally grouped in ~10 and all they need to share is
authentication, you may want to separate the functions in 10 different
web2py applications (all sharing one database, each defining only the
tables it needs, and sharing one session cookie). This modular design
solves lots of problems.

I have heard of people who have developed complex applications in
Django (which uses the import you suggest) and run into problems
because they were using more ram than needed since all modules were
always imported. In web2py controllers are executed only when called
and if you make many small controllers you save lots of memory.
Controllers than then import the modules they need and only those.

Massimo

On Nov 13, 7:28 pm, Thadeus Burgess thade...@thadeusb.com wrote:
 The biggest contributing factor is that web2py is executed and not import.
 The coder must always be sure to align objects and database in the correct
 order, including any auxiliary functions, class mappings, queries. He/she
 has to worry about the order of everything. Sometimes you can't have such
 order for complex systems. I think an import based system solves this in
 that the import statements declare the order instead of the physical
 location of the code doing that.

 --
 Thadeus

 On Sat, Nov 13, 2010 at 2:49 PM, Jason Brower encomp...@gmail.com wrote:
   These are encouraging.
  In large deployment I mean it in the most external sense of it.  Facebook
  is big, myspace is big, those kinds of object were what I was aiming for.
  And with Massimo's comment about the database size.  I think your right, the
  framework does become less relavent.  In what ways in a large codebase
  making web2py code messier and is there a solution to it in another
  framework?
  BR,
  J

  On Sat, 2010-11-13 at 11:48 -0600, Thadeus Burgess wrote:

  What is large deployment?

  Is it a large codebase that you must manage for an internal dashbaord, or
  just alot of users/database io that needs to scale out for worldwide access?

  If its the first case, web2py can get really complicated in dealing with
  lots of models and difficult to manage in an efficient manner. The larger
  your codebase the messier web2py apps will become. In the end, this would
  ultimately be up to the preferences of you and your team and what your
  willing to put up with.

  In the second case, framework hardly matters at that point. Disqus uses
  django, facebook uses php, reddit uses pylons, myspace uses coldfusion,
  microsoft uses asp, oracle uses java. Its always the database that becomes
  an issue regardless of programming language or web framework.

  --
  Thadeus

   On Sat, Nov 13, 2010 at 10:53 AM, mdipierro mdipie...@cs.depaul.edu
  wrote:

  I agree with Villas. The larger the development the more the database
  becomes the bottleneck and the framework irrelevant.

  Massimo

  On Nov 13, 8:35 am, villas villa...@gmail.com wrote:
   Hi Jason

   I guess you have to define 'large deployment' first of all.  Number of
   records and size of DB? Number of concurrent users? Large data model
   or number of forms etc?  Number of servers -- or replication?  Global
   coverage?

   In principle I don't think there's any reason why Web2py would be
   worse than other frameworks.  Usually it is much better!  As an
   example,  I think deploying to the Google App Engine should be able to
   scale sufficiently for everything but extreme cases :)

   If you specify more about what you wish to achieve this group may be
   able to give more specific advice how best to organise your project.

   -D

   On Nov 13, 7:12 am, Jason Brower encomp...@gmail.com wrote:

I love web2py and it's the only framework i feel i am fully capable to
  do or learn to do quickly.
However, I remember see that this framework is intended for small to
  medium sized deployments. Is this true? What is it that stops us from larger
  deployment? Should i pickup django because i may need it?
Regards,
jb




[web2py] Re: Discussion: Why is web2py bad for large deployments?

2010-11-13 Thread blackthorne
I think that as long as you develop good code, choose a good
interpreter, use assynchronous requests as adequate and good caching,
you shouldn't have many constraints other than the database. There, I
think there is no work-around. You have to make specific/manual DB
handling for each DBMS to assure good scalibility. Out of the box,
there aren't many things like this that do much better.

On Nov 14, 3:41 am, mdipierro mdipie...@cs.depaul.edu wrote:
 I agree that there are things we can improve in web2py.

 Yet, if a complex application have many pieces that are untangled, the
 import mechanism does not necessarily help you. The solution is trying
 to design components that are relatively independent. If you can do
 this, web2py does not bet in the way. For example, you have 100 tables
 functionally grouped in ~10 and all they need to share is
 authentication, you may want to separate the functions in 10 different
 web2py applications (all sharing one database, each defining only the
 tables it needs, and sharing one session cookie). This modular design
 solves lots of problems.

 I have heard of people who have developed complex applications in
 Django (which uses the import you suggest) and run into problems
 because they were using more ram than needed since all modules were
 always imported. In web2py controllers are executed only when called
 and if you make many small controllers you save lots of memory.
 Controllers than then import the modules they need and only those.

 Massimo

 On Nov 13, 7:28 pm, Thadeus Burgess thade...@thadeusb.com wrote:



  The biggest contributing factor is that web2py is executed and not import.
  The coder must always be sure to align objects and database in the correct
  order, including any auxiliary functions, class mappings, queries. He/she
  has to worry about the order of everything. Sometimes you can't have such
  order for complex systems. I think an import based system solves this in
  that the import statements declare the order instead of the physical
  location of the code doing that.

  --
  Thadeus

  On Sat, Nov 13, 2010 at 2:49 PM, Jason Brower encomp...@gmail.com wrote:
    These are encouraging.
   In large deployment I mean it in the most external sense of it.  Facebook
   is big, myspace is big, those kinds of object were what I was aiming for.
   And with Massimo's comment about the database size.  I think your right, 
   the
   framework does become less relavent.  In what ways in a large codebase
   making web2py code messier and is there a solution to it in another
   framework?
   BR,
   J

   On Sat, 2010-11-13 at 11:48 -0600, Thadeus Burgess wrote:

   What is large deployment?

   Is it a large codebase that you must manage for an internal dashbaord, or
   just alot of users/database io that needs to scale out for worldwide 
   access?

   If its the first case, web2py can get really complicated in dealing with
   lots of models and difficult to manage in an efficient manner. The larger
   your codebase the messier web2py apps will become. In the end, this would
   ultimately be up to the preferences of you and your team and what your
   willing to put up with.

   In the second case, framework hardly matters at that point. Disqus uses
   django, facebook uses php, reddit uses pylons, myspace uses coldfusion,
   microsoft uses asp, oracle uses java. Its always the database that becomes
   an issue regardless of programming language or web framework.

   --
   Thadeus

    On Sat, Nov 13, 2010 at 10:53 AM, mdipierro mdipie...@cs.depaul.edu
   wrote:

   I agree with Villas. The larger the development the more the database
   becomes the bottleneck and the framework irrelevant.

   Massimo

   On Nov 13, 8:35 am, villas villa...@gmail.com wrote:
Hi Jason

I guess you have to define 'large deployment' first of all.  Number of
records and size of DB? Number of concurrent users? Large data model
or number of forms etc?  Number of servers -- or replication?  Global
coverage?

In principle I don't think there's any reason why Web2py would be
worse than other frameworks.  Usually it is much better!  As an
example,  I think deploying to the Google App Engine should be able to
scale sufficiently for everything but extreme cases :)

If you specify more about what you wish to achieve this group may be
able to give more specific advice how best to organise your project.

-D

On Nov 13, 7:12 am, Jason Brower encomp...@gmail.com wrote:

 I love web2py and it's the only framework i feel i am fully capable to
   do or learn to do quickly.
 However, I remember see that this framework is intended for small to
   medium sized deployments. Is this true? What is it that stops us from 
   larger
   deployment? Should i pickup django because i may need it?
 Regards,
 jb