This question has been flagged
8 Replies
48006 Views

Hello,

I'm currently using Odoo 12.0+e-20181025. At first, we didn't have that problem, but lately it has become more and more unstable. When it happened, I and my users can't connect to Odoo. I tried checking the connection to the server and found it was normal and stable. But we can't connect to Odoo application for a few minutes. Even after I restarted the server, it kept going like that. Only after a few minutes (between 7-12 minutes) it will return to normal again and usually will keep being normal throughout the day. But these couple of days, it started to happen more and more often. 

Is this normal and does anyone have a way to fix this? My users workload is quite big and we can't be having this interruption.

Thanks for reading and for the help.  

Avatar
Discard

Are you getting any error logs while happening the issue?

Author

No, no error log whatsoever. After restarting the service, everything is fine. Well, until it turned like that again that is.

Odoo 13.0 (Community Edition)
commit 1e8ea4f5628878dbc667c27d4e76ab42d3f140ea

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 ?

Best Answer

I've faced the issue while uploading photos and solved it by adding the following line under HTTP in nginx.conf 

client_max_body_size 5M;
Avatar
Discard

This is the solution to load images and documentation in the modules: Inventory, Elearning etc. Thank you

Thank you for this solution !

Best Answer

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

Avatar
Discard

Thank you! Workers = 2 worked for me!

Hello Sir, I have just installed odoo 12 and i followed the steps mentioned above but I'm still receiving the same pop up. And i just have 1 user in my database yet I'm receiving the same popup. I would really appreciate if you could help me outcould you help me out

@christian could you please explain the difference between limit_memory_hard,limit_memory_soft and theory behind calculation them.

thank you ....

Best Answer

Try this :    in the Odoo config, I changed only two parameters .. 

proxy_mode = True

workers = 3

This solved it for me .. 

Ed,


Avatar
Discard

thanks, it worked for me. In my case proxy_mode was True but workers variable was equal to 0 .

For me works too and error is gone in Odoo 13:

proxy_mode = True

workers = 2

Thanks!

Best Answer

I have 28 workers on odoo 15 

48GB RAM, 16Core

all config done based on documentation and i keep getting disconnection errors

im a bit lost with this issue



- My fix was to disable redis.

Avatar
Discard
Best Answer

You probably no longer need this relationship but for anyone who needs it at this precise moment here it is:

Fisrt Step

proxy_mode = True
limit_memory_hard = # Calculate it method in official documentation
limit_memory_soft = # Calculate it method in official documentation
limit_request = 8192
limit_time_cpu = 600
limit_time_real = 1200
max_cron_threads = 2
workers = 2
Second Step


If you are using reverse proxy, check if your server is generating an HTTP 413 error (occurs when the request is larger than the server allows). Here's how you can fix it, depending on your web server:

  • Apache: Set the LimitRequestBody directive in either your httpd.conf file or a local .htaccess file. (https://stackoverflow.com/a/3719358/1688568)

  • Nginx: Set the client_max_body_size directive in nginx.conf (http://www.cyberciti.biz/faq/linux-unix-bsd-nginx-413-request-entity-too-large/)

  • IIS: Set the uploadreadaheadsize config setting (https://web.archive.org/web/20160204040121/http://blogs.msdn.com:80/b/jiruss/archive/2007/04/13/http-413-request-entity-too-large-can-t-upload-large-files-using-iis6.aspx)

Avatar
Discard
Best Answer

Hi,

You can check out this video explaining the same problem with steps to solve it:  https://www.youtube.com/watch?v=Q1c5XpG85OE


Nginx: https://www.youtube.com/watch?v=-hVYQd7A7PQ&t=138s

Odoo Worker:  https://www.youtube.com/watch?v=dQtIKmNdVgA&t=73s


Thanks

Avatar
Discard
Best Answer

For me, the problem is solved by increasing the number of workers (were 0 and changed to 2), and changed the nginx configuration to have:

client_max_body_size 30M;
Avatar
Discard
Best Answer

Same here. I've just set up a new Odoo 13 (CE) server on Ubuntu 18.04 and Nginx as https proxy.

Avatar
Discard