Thank you to both of you. Anthony I was using redis to handle my sessions hence I can discard that bottleneck besides I need the session info on my components.
It seems that web2py performs more querys to the database than expected. I have the database on digitalocean but was using web2py on my machine. I tried deploying the app in the same server of the database and now it is more responsive. I have reduced the time a component is loaded from 5-6 seconds to 1.30 seconds max.
I wasn't expecting this since I think the same quantity of information travels through internet on both cases
[(local browser + local web2py ---- internet db) ~ (local browser ---- internet web2py + internet db)]
unless web2py makes more calls to the db than I supposed it to do.
Finally, is 1.30 seconds a good speed? My components perform only selects to tables with no more than 5 records so I don't think it is an application issue. Is it ok? Thank you