Nous allons vous aider à choisir la configuration optimale pour votre instance Odoo. Alors oui, des explications officielles sont déjà fournies par Odoo pour aider dans le choix de la configuration Odoo.sh ou On-Premise. C’est d’ailleurs à partir de ces dernières que nous nous inspirons pour bien dimensionner les serveurs de nos clients. Cependant, nous estimons que ces explications sont complexes à comprendre pour un néophyte et méritent d’être vulgarisées.
Il est important de noter que, dans cet article, nous parlerons de la configuration minimale nécessaire pour qu’une instance Odoo.sh fonctionne correctement. Par exemple, si l’intention est d’avoir une instance de production et une de test, la configuration devra être adaptée pour sélectionner le serveur en conséquence.
🌱 En plus de vous fournir les clés pour bien choisir votre configuration, une portée écologique est attribuée à cet article. En effet, surdimensionner votre serveur entraînera une empreinte carbone plus conséquente et une surconsommation énergétique inutile du data center (et gaspillera votre budget par la même occasion). De plus, les ressources dédiées à votre instance Odoo pourront être facilement mises à niveau dans les paramètres Odoo.sh.
Calcul du nombre de Workers
Qu'est-ce qu'un Worker ? Le plus simple est de le considérer comme une file d'attente où les demandes sont traitées une par une. Plus il y a de Workers, plus des demandes peuvent être traitées simultanément.
Le calcul du nombre de Workers repose sur le nombre de noyaux des processeurs, avec une limite définie en fonction de la configuration matérielle afin de prévenir l’épuisement des ressources. De plus, les tâches cron nécessitent un Worker spécifique pour fonctionner, ce qui signifie qu’il doit être déduit du nombre final de Workers.
En calcul, cela donne :
- Nombre théorique de worker nécessaires : 1 worker ≈ 6 utilisateurs
- Nombre maximal théorique de workers : (#nombre_de_processeurs × 2) + 1
Calcul de la taille de la mémoire
Odoo considère que :
- 20% des requêtes sont des requêtes lourdes, et qu’elles consomment environ 1Go de RAM
- 80% des requêtes sont des requêtes légères, et qu’elles consomment environ 150Mo de RAM
Le calcul d’Odoo pour obtenir la RAM nécessaire est le suivant : #nombre_de_worker × ((#ratio_worker_leger × #estimation_ram_worker_leger) + (#ratio_worker_lourd × #estimation_ram_worker_lourd))
Dans le calcul, il n’y a que le nombre_de_worker comme variable. Le reste se simplifie de la sorte :
RAM nécessaire : #nombre_de_worker × 324,8
Exemple de configuration
- Données utiles
- Serveur avec 4 processeurs, 8 threads
- 60 utilisateurs
- Calculs
- Nombre théorique de workers nécessaires → 60 utilisateurs / 6 = 10
- Nombre maximal théorique de workers → (4 × 2) + 1 = 9
- RAM nécessaire → 9 × ((0,8 × 150) + (0,2 × 1024)) = 9 x 324,4 ≈ 3Go
- Constat
- 9 workers (8 + 1 pour les tâches cron) et à minima 3Go de RAM sont nécessaires.
Calculez votre propre configuration
Informations
Résultats des calculs
Nombre théorique de workers :
Nombre maximal théorique de workers :
RAM nécessaire :