Odoo performance with 8, 9, 10 & 11 and PostgreSQL 9.6

With the arrival of PostgreSQL 9,6, Odoo performance can now benefit from parallel query functions. From the PostgreSQL side, this is excellent news because this means many SELECT queries operated by the Odoo ORM can be run faster than they used to be. On the paper, the advantages are:

Faster query results (PostgreSQL claim up to 32x faster than on previous versions such as 9.5)
Improvement in GIN, BRIN and B-tree Indexing modes.
Better Row compression

Yet, when one looks at Odoo performance, one must understand that Odoo does not have capacity to use these very efficiently since the above imply two major factors […] Read more

Big data Odoo optimization

Big data Odoo optimization

Big data Odoo optimization is a very serious issue indeed. Because Odoo can be provided to big companies, this also implies that they will use the system extensively and that goes in pairs with a very fast and sustained data growth. Obviously, the most impacted standard tables will be the ones we call the “_lines” tables such as: sales_order_line ; account_move_line ; stock_move_line etc….etc….

The issue

To evaluate the impact of generic data growth on these tables, let’s imagine a standard company with 10 branches and 2 accounting persons validating 100 invoices each per open day. Let’s be fair and set the […] Read more

Before installing Odoo

Last week, we recived the following enquiry:


We are an odoo official partner and we are interested to have a right technical implementation more secure and with performance for odoo.
How you can help us.
What we search is a Document or a user manual to configure and setup odoo and secure it.


And here is our reply, since this is something you should do before installing Odoo :

To be honest with you, I have been implementing data management infrastructures for almost 2 decades now and I am still learning every day. One thing you must understand about Odoo is that it is using […] Read more

Odoo and PostgreSQL 9.5

Odoo and PostgreSQL 9.5

Odoo and PostgreSQL 9.5: a good or a bad idea?

After weeks of testing and benching Odoo and PostgreSQL 9.5, we have come to the following conclusion: PostgreSQL 9.5 (which comes out of the box with new Ubuntu 16.04 LTS) gives an excellent stability and performance.

Nevertheless, the PostGreSQL was slightly mofidied and some parameters we used to tweak in the previous version are now purely and simply gone. Others on the other hand have been added.

For example, checkpoint_segments is no longer being used and should be removed from the configuration.

On the other hand, max_wal_size has been added and shoud be setup […] Read more

Check your Odoo setup in 3 stages

Check your Odoo setup in 3 stages

Check your Odoo implementation

If your implementation was done correctly, your system should not only run very fast but also be very stable. If this is not the case, it is great time to check your Odoo implementation. This means the technical deployment of either Odoo and / or PostGreSQL was not done properly. Before choosing a partner, have you followed the “BE SAFE” recommendations?

If you have not, you already ahving bugs, error messages, server restarts et…. etc… This is the common lot of unexperienced implementations. Now it is time to cross-check your implementation. You can easily do so by checking […] Read more

Pgbouncer Odoo

Why will pgbouncer save you?

Because out of the box, Odoo is using standard postGreSQL which is unable to kill ids idle connections.

For that reason, whoever is going to production with multi-user configuration needs pgbouncer to be setup and running. Why? Because PostreSQL keeps opening new connections for Odoo but never closes them. They are kept idle and saturate memory until either the maximum number of allowed connections OR the memory runs out.

The more users you have …. and the more workers and threads you get…. and the faster the problem occurs.

As a typical example, for a server being used by […] Read more

Improve your Odoo PostgreSQL performance

Improve your Odoo PostgreSQL performance

You probably have noticed already that Odoo and PostgreSQL are installed in separate packages. That should give you the following clue:


The standard PostgreSQL installation is neither optimized for your hardware not for your Odoo


Before you move into running PostgreSQL with your Odoo and through Python-driven requests, here is a list of the things you should do to give your system a real chance to run decently:


PostgreSQL logging

Be generous with logging; it’s very low-impact on the system
Locations for logs are better managed by syslog.
Just use:

log_destination = ‘csvlog’

log_directory = ‘pg_log’



Start low: 32-64MB
Look for ‘temporary file’ lines in logs
set to 2-3x the largest […] Read more