In odoo configuration file, we assigned no. of workers(Thread).
- 1 worker ~= 6 concurrent users
So, if have 50+ users.
Let's consider you have 50 users, rest calculate you can do your own.
If 1 worker can handle 6 concurrent users then to handle 50 users, you need to have 9 workers for concurrent users configuration.
Now, How workers are calculated based on cores (CPU).
The best example is given in odoo website.
- Server with 4 CPU, 8 Thread
- 60 concurrent users
- 60 users / 6 = 10 <- theoretical number of worker needed
- (4 * 2) + 1 = 9 <- theoretical maximal number of worker
- We'll use 8 workers + 1 for corn. We'll also use a monitoring system to measure CPU load and check if it's between 7 and 7.5.
- AM = 9 * ((0.8*150) + (0.2*1024)) ~= 3Go RAM for Odoo
You will need approx 4 GB Ram dedicated for odoo, 4 CPU If you add 4+ will be an advantage on speed performance.
Hard disk, 100 GB will be enough, but it depends if you are taking database backup every day in the same instance. then hard disk size cannot be predicted, but if you are taking database regularly and clearly it regularly only keeping last month or last week database backup then you won't need more hard disk size.
To know more about hardware requirement in detail you check out in reference.
Reference : Source
I hope this will help you to understand more.