Odoo Experience 2017
Tips to fine tune PostgreSQL to boost performances?
Developer
Location: Aula Magna / Foyer du Lac - 10/5/17, 2:30 PM - 10/5/17, 3:20 PM (Europe/Brussels) (50 minutes)
Tips to fine tune PostgreSQL to boost performances?
Nicolas Seinlet, Software Developer - Odoo
Nicolas Seinlet, Software Developer - Odoo

NSE is a member of the ps tech team, and among other things, in charge of the deployment and performance tickets for on premise deployments.


This talk is not for noob developers (no need to be an expert), but everybody developing their own modules, or deploying the modules of others. It's also intended for people who have deployed their own Odoo, even purely standard, and want to improve the performance. This can also apply to anybody on SaaS, but it's more tricky. For Odoo.sh, it can help people to improve their deployments by adding the required indexes, and removing unused ones.

Versions covered: any version from 7 to 11.

What you'll learn from this talk is how to tackle a perf issue linked to an SQL issue, how to detect it, and how to improve a working system performance. Is the issue PostgreSQL related? Is it PostgreSQL related, or are the underlying layers, like VM or container, or hardware, the root cause of the issue? It's not necessarily tackling the issue, but rather improving performance, which is a more positive approach for the same thing. In Odoo, the nature of data can change the needs for indices. Creating a custom index can improve performance. How to detect those needs?

What should be expected from this presentation: Tools and hints to use to handle a SQL performance issue. How to detect if a perf issue is sql related?

I'm going to try to avoid a live demo, because we'll reuse those slides to answer some tickets, and live-demos are not included in slides. I'll configure postgresql for Odoo - pgtune as a base tool for configuration - monitor postgresql (a rough munin overview) - real-time monitoring (pg_activity) - executed queries (posgre logs, pg_badger) - explain analysis of a query (using despez or not) - create an index - re-run the whole bunch of tests. This should fit in a 20 minutes talk.