Enabling Multiprocessing
By default, Odoo is working in multithreading mode. For production deployments, it is recommended to change to the multiprocessing server as it increases stability, and make better usage of the system resources.
To enable multiprocessing you need to edit the Odoo configuration and set a non-zero number of worker processes. The number of workers is calculated based on the number of CPU cores in the system and the available RAM memory.
According to the official Odoo documentation to calculate the workers’ number and required RAM memory size, you can use the following formulas and assumptions:
Worker number calculation
Theoretical maximal number of worker = (system_cpus * 2) + 1
1 worker can serve ~= 6 concurrent users
Cron workers also require CPU
RAM memory size calculation
We will consider that 20% of all requests are heavy requests, and 80% are lighter ones. Heavy requests are using around 1 GB of RAM while the lighter ones are using around 150 MB of RAM
Needed RAM = number_of_workers * ( (light_worker_ratio * light_worker_ram_estimation) + (heavy_worker_ratio * heavy_worker_ram_estimation) )
If you do not know how many CPUs you have on your system, use the following grep command:
grep -c ^processor /proc/cpuinfo
Let’s say you have a system with 4 CPU cores, 8 GB of RAM memory, and 30 concurrent Odoo users.
30 users / 6 = **5** (5 is theoretical number of workers needed )
(4 * 2) + 1 = **9** ( 9 is the theoretical maximum number of workers)
Based on the calculation above, you can use 5 workers + 1 worker for the cron worker that is a total of 6 workers.
Calculate the RAM memory consumption based on the number of workers:
RAM = 6 * ((0.8*150) + (0.2*1024)) ~= 2 GB of RAM
The calculation shows that the Odoo installation will need around 2GB of RAM.
To switch to multiprocessing mode, open the configuration file and append the calculated values:
etc/odoo.conf or etc/odoo-server.conf then add
limit_memory_hard = 2684354560
limit_memory_soft = 2147483648
limit_request = 8192
limit_time_cpu = 600
limit_time_real = 1200
max_cron_threads = 1
workers = 5
sudo /etc/init.d/odoo-server restart
Are you getting any error logs while happening the issue?
No, no error log whatsoever. After restarting the service, everything is fine. Well, until it turned like that again that is.
We have this problem too! with firefox and chrome 。
Hi anyone found solution for odoo13. I have tried the all the above but it is not working
From what I gather, there are few causes for the connection lost, besides dwelling into conf file or network , it might be caused by other areas. Check odoo database, it might be the root cause.
hey @Nathan, can you describe what are your working specs? I've a Google compute engine instance with 1 vCPU and 1.75GB of memory and I keep getting this error. I cannot add more workers because my installation is a bitnami installation which is WSGI [based](https://community.bitnami.com/t/odoo-worker-and-longpolling-problem/65656/13?u=bermick) and cannot add workers
Thanks!
@Nathan did you solved this issue? I'm facing the same and stuck there for weeks.
I do not have enough karma to post comment, so I have to write my question as an answer!
Same issue here Odoo 13e
When i'll create first product (inventory) in empty db i'll start receive this "connection lost" errors.
Delete product and errors disapeard.
This issue is tested more than 1 db's.
can any one solve this issue ?
https://www.youtube.com/watch?v=Q1c5XpG85OE