Odoo worker & PostgreSQL calculator
Enter your hardware. We size your workers, memory limits and a PostgreSQL profile tuned for Odoo, then generate a ready-to-paste odoo.conf and postgresql.conf.
- Free
- odoo.conf and postgresql.conf
- Nothing is sent
Your server
How the calculator sizes your Odoo server
The calculation runs in your browser: nothing is sent to us. These are the rules it applies.
- CPU ceiling: (2 × cores) + 1 processes, cron workers included.
- RAM ceiling: memory left after the system (10%, at least 1 GB) and PostgreSQL (30% when on the same server), divided by the soft memory per worker.
- Soft memory per worker: 768 MB up to 8 GB of RAM, 1 GB up to 32 GB, 1.5 GB above; hard limit 25% higher.
- One gevent worker for live chat and notifications, one or two cron workers.
- PostgreSQL: shared_buffers, effective_cache_size, work_mem and random_page_cost adapted to the RAM and the storage.
Frequently asked questions about Odoo workers
How many workers does Odoo need?
The CPU sets a ceiling of (2 × cores) + 1 processes, but the RAM is usually the real limit: each worker needs its memory, plus the system and PostgreSQL. The calculator takes the lower of the two.
Why is "(CPU × 2) + 1" not enough?
Because it ignores memory. On a server with many cores and little RAM, that formula gives more workers than the memory can hold, and the server starts swapping.
When should PgBouncer be used?
When the worst-case number of PostgreSQL connections (all processes × db_maxconn) becomes high. PgBouncer in transaction mode then keeps the number of real connections under control.
Are these values final?
They are a sound starting point. Real load depends on your modules, reports and imports: measure in production, then adjust. We can do that review for you.
Odoo still slow after tuning?
We review your server, PostgreSQL and custom code, then fix what slows you down.
Have your server reviewed