Odoo Help

Welcome!

This community is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

1

Configuration with many concurrent users

By
Mathias Colpaert
on 5/19/14, 6:15 AM 3,176 views

Hi,

Suppose I am using OpenERP with a load balancer, to handle concurrency.

How many users could one instance handle concurrently?

I assume that postgresql would never run into performance problems? (ie OpenERP application is the bottleneck?)

Regards,

Can gunicorn spawn workers on multiple VPS? If not, I image that this does not scale well?

Mathias Colpaert
on 5/27/14, 1:13 PM
3

Dhinesh - Technical Consultant, Sodexis Inc

--Dhinesh - Technical Consultant, Sodexis Inc--
3577
| 5 4 9
Pondicherry, India
--Dhinesh - Technical Consultant, Sodexis Inc--

Passionate coder in Python/OpenERP. Knows Django/Flask MVC frameworks. Did code in Java, PHP.

Contact me at: dvdhinesh.mail@gmail.com

Dhinesh - Technical Consultant, Sodexis Inc
On 5/23/14, 4:12 AM

DO NOT scale the number of workers to the number of clients you expect to have. Gunicorn should only need 4-12 worker processes to handle hundreds or thousands of requests per second.

Gunicorn relies on the operating system to provide all of the load balancing when handling requests. Generally we recommend (2 x $num_cores) + 1 as the number of workers to start off with. While not overly scientific, the formula is based on the assumption that for a given core, one worker will be reading or writing from the socket while the other worker is processing a request.

Obviously, your particular hardware and application are going to affect the optimal number of workers. Our recommendation is to start with the above guess and tune using TTIN and TTOU signals while the application is under load.

Always remember, there is such a thing as too many workers. After a point your worker processes will start thrashing system resources decreasing the throughput of the entire system.

For more details about gunicorn based workers link...

0

Daniel Reis

--Daniel Reis--
3436
| 6 7 9
Lisbon, Portugal
--Daniel Reis--

Author of the "Odoo Development Essentials" book.

Applications Manager at Securitas Portugal

Github: https://github.com/dreispt

Twitter; @reis_pt


Daniel Reis
On 5/19/14, 5:08 PM

The recommended practice is to use `gunicorn` to handle concurrency. It deploys several workers serving requests on the same port. The recommended number of workers is `[number of cores] * 2 + 1`.

You have to take care of your Postgres configs and tuning, but usually the bottleneck will come from the application server ORM.

Your Answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

About This Community

This community is for professionals and enthusiasts of our products and services. Read Guidelines

Question tools

2 follower(s)

Stats

Asked: 5/19/14, 6:15 AM
Seen: 3176 times
Last updated: 3/16/15, 8:10 AM