Skip to Content

Contributors

Performance of /shop controller

Hi all,

in our odoo 12 deployments we usually detect a time to first byte above 1.5 sec for /shop pages.

We already cache \/web\/(static|image|content)\/ in nginx and installed website_js_below_the_fold, but odoo server is the bottleneck at the moment.

I profiled these requests with py-spy and noticed that execute function (odoo/sql_db.py) takes most of the time.

Did anybody analyze these queries and have experience or modules to share?

Thanks!


by Lorenzo Battistini. - 09:30 - 11 Apr 2021

Follow-Ups

  • Re: Performance of /shop controller
    El dom, 11 de abr de 2021 a las 07:31, Lorenzo Battistini <elbaddy@gmail.com> escribió:
    in our odoo 12 deployments we usually detect a time to first byte above 1.5 sec for /shop pages.

    v13 framework fixed this problem. Upgrade ASAP, that'll be the only real fix you can do.

    Otherwise, try removing category filters. Those use `child_of`, which is very expensive in v12.


    by Jairo Llopis - 09:30 - 13 Apr 2021
  • Re: Performance of /shop controller
    If you use profiler module,

    Port this and measure only /shop request

    https://github.com/OCA/server-tools/pull/1986

    Or use this directly with workers=0 in controlled environment:

    https://github.com/OCA/server-tools/pull/1369

    Then you can know which python function calls the sql_db and which ORM call was it, and know more about what generates the offending SQL.

    And of course follow Moises advice in order to actually get the offending SQL



    Apr 11, 2021 09:31:56 Lorenzo Battistini <elbaddy@gmail.com>:

    Hi all,

    in our odoo 12 deployments we usually detect a time to first byte above 1.5 sec for /shop pages.

    We already cache \/web\/(static|image|content)\/ in nginx and installed website_js_below_the_fold, but odoo server is the bottleneck at the moment.

    I profiled these requests with py-spy and noticed that execute function (odoo/sql_db.py) takes most of the time.

    Did anybody analyze these queries and have experience or modules to share?

    Thanks!

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe


    by Tom Blauwendraat - 10:50 - 11 Apr 2021
  • Re: Performance of /shop controller
    It could be a lot of things

    I was realized that computing prices is heavy.
    But prefetching tables too as
     - website.user_id.partner_id.lang
    Missing indexes and so on.

    There are fixes using LRU cache in newer versions but if you have detected that queries are slow you can try getting the postgresql log in order to analyze it


    On Sun 11 Apr 2021 at 2:31 a.m. Lorenzo Battistini <elbaddy@gmail.com> wrote:
    Hi all,

    in our odoo 12 deployments we usually detect a time to first byte above 1.5 sec for /shop pages.

    We already cache \/web\/(static|image|content)\/ in nginx and installed website_js_below_the_fold, but odoo server is the bottleneck at the moment.

    I profiled these requests with py-spy and noticed that execute function (odoo/sql_db.py) takes most of the time.

    Did anybody analyze these queries and have experience or modules to share?

    Thanks!

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    --
    Moisés López Calderón
    Mobile: (+521) 477-752-22-30
    Twitter: @moylop260
    hangout: moylop260@vauxoo.com
    http://www.vauxoo.com - Odoo Gold Partner
    Twitter: @vauxoo

    by Moisés López Calderón - 09:41 - 11 Apr 2021