Step 1. Find your worker count from active users #
Start by counting your peak concurrent users, which means the number of people actively using Odoo at the same time. If you are not sure, estimate this as 20–40% of your total users.
As a rule, one worker can handle about 6 concurrent users.
- 8 people at once → 8 ÷ 6 = 1.3 → 2 workers
- 20 people at once → 20 ÷ 6 = 3.3 → 4 workers
- 55 people at once → 55 ÷ 6 = 9.1 → 10 workers
Odoo requires at least 2 workers to run smoothly (PDF generation won’t work with less). If you have heavy customizations or complex modules, plan for more workers.
Step 2. Find your CPU cores from workers #
Take the number of workers, divide by 2, and then round up. That number is the minimum CPU cores you need.
Example: 4 workers → 4 ÷ 2 = 2 → 2 CPU cores
Step 3. Find your RAM from workers #
Plan around 0.5 GB of RAM per worker, plus 1–2 GB extra for the system (operating system and PostgreSQL).
If you run heavy apps such as MRP, Studio, or large reports, plan for 1–2 GB per worker instead.
A very small production Odoo can run in 1 GB of RAM, but 2 GB is a safer minimum.
Quick reference table #
Concurrent users | Workers* | Minimum CPU cores | Recommended RAM |
---|---|---|---|
1-6 | 2 | 1 | 1-2 GB |
7-12 | 2 | 1 | 2-4 GB |
13-24 | 4 | 2 | 4-8 GB |
37-60 | 10 | 5 | 8-32 GB |
* Odoo requires at least 2 workers, even for very small instances, to generate PDF reports.
Notes #
- Bare metal (dedicated cores) typically outperform virtual CPUs (vCPUs). You can compare CPU models when evaluating cloud providers (e.g. with CPU Benchmark).
- Count cores, not threads. An 8-core/16-thread CPU is still 8 cores.
- If you expect growth, choose a slightly larger server to avoid early upgrades.