1. DAL is not a database. My point was: if you can't get your mongodb instance to return 1m requests per second (using nothing but mongoitself), surely web2py can't help with that. 2. never said that. Every app needs different requirements. That being said, there is at least one instance of web2py servicing 2.5m requests per day for an app. Last but not least, your app needs to be tuned, web2py's "overhead" an be reduced in several ways (e.g. cutting features) but if your app needs them, you can't turn them off 3. you should read at least some introduction on how web2py works. In a very very very concise summary, models are executed at every request, so as a general rule of thumb one should keep them at a minimum.
On Saturday, September 1, 2012 11:53:20 PM UTC+2, Webtechie wrote: > > Thanks for the quick reply . I apologize for not being clear . I do not > have a specific web app or use case in my mind . I just wanted to know > whether it can be used for large-scale projects (yes . I understand that > now) . However i could not interpret some points of your reply . > 1. Database - is the DAL provided by web2py is not fast enough ? (now > that it also supports MongoDB ) . could you provide some sort of benchmarks > ? if not DAL , should we switch to db-specific python API's provided by the > DB (like pymysql etc) . > 2 .by default web2py handles 1k requests but can be modified to handle > 2.5m requests . what part of web2py (what kind of optimisations ) should be > modified to achieve this ? Also how do these optimisations differ for > the different scenarios you mentioned back there ? (many small requests , > less requests but requesting a large chunk of data) . > 3. I could not understand the meaning of reduce models . can you please > elaborate on that > > On Sunday, September 2, 2012 12:14:52 AM UTC+5:30, Niphlod wrote: >> >> is the sky blue, really really blue ? those kind of questions really >> makes me wonder. >> What is "high volume of traffic" ? 1k concurrent requests ? 10GB/hour of >> traffic ? many small requests? less requests but requesting a large chunk >> of data? The data returned to the users will be the result of many tables >> joined? questions like yours, to have back an answer given with a grain of >> salt, is going to require a lot more details. >> Anyway: >> 1. Database large: not a web2py problem, in fact, web2py is not a >> database (:-P). Be sure your db engine (that is often the bottleneck in >> almost every app) handles your traffic >> 2. have you tested your app with 10 users ? test it with 1000 and see if >> you app is scalable. The way you code it makes it scalable, not the >> framework. Again, web2py could handle 1k requests per minute, but if your >> db is going to kneel down at 200 requests per minute, don't blame the >> framework for being slow. >> 3. have you something (I mean, code) that runs faster on other frameworks >> to have web2py to blame ? >> 4. Inspect your idea of app. If that's going to be an api with 1m >> concurrent users, with no forms, no sessions, no auth, no model, probably >> you'll find other frameworks faster than web2py. If it's going to require >> all of those, or a generous subset, having your app in web2py saves you a >> lot of time (and errors) >> >> General advices working with web2py: reduce models, use lazy tables >> (available in the last release), use session.forget() wisely, and a lot of >> bunch of advices you can find in the book. Want some proofs? Some users in >> this list have huge sites working on web2py. From what I can recall howesc >> has web2py handling a site servicing 2.5m requests per day. >> >> On Saturday, September 1, 2012 6:48:01 PM UTC+2, Webtechie wrote: >>> >>> >>> I would like to use web2py for a web application which has large >>> databases (really large) , expects high volume of traffic . Are there any >>> ways to make web2py apps run faster ? (like really faster ) , (looking for >>> solutions apart from pooling more hardware and replacing Cpython wth pypy , >>> running on a non-blocking server like tornado ) . How can i optimise web2py >>> for my needs ? are web2py applications scalable ? >>> >> --