Hi, I am developing a test application with web2py to test database performance. The idea is to see how long does it take to fetch information from database on different loads. So far I have tested with SQLite and I've made test databases of size ~1K and 10K. Now I'm trying to test a ~100K and ~1M databases, but once I have populated the database to ~100K, the app is really slow. It takes forever to load the plain index page. I tried to solve this by using PostgreSQL instead but still it takes forever to load the index page. What gives?
I have been looking advice on improving the performance and some have come across (Deployment recipes from web2py book), but I also have questions concerning them: - Minimize the code in models: do not define functions there, define functions in the controllers that need them or - even better - define functions in modules, import them and use those functions as needed. Q: I need to manipulate database contents in separate functions but if I place the code to a separate module it can't connect to the database. How can I access the database from separate module? Should I use the same connection string in them as used in model files (db.py)? - Do not put many functions in the same controller but use many controllers with few functions. Q: Do I need to create a view for every separate controller? Or can I use the same view in many controllers? - Use indexes Q: Should indexes be defined in model file after defining tables or somewhere else? So far I have found no difference in performance when defining indexes. Thanks! -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.