Performance Optimierung Odoo

Teil 1
Performance Optimierung Odoo
Equitania Team

Auch wenn Odoo in der Version 16 deutlich schneller geworden ist, gibt es bei der Installation viel Potential die Geschwindigkeit von Odoo zu steigern.

  • Betriebsystem

  • nginx (Reverse Proxy)

  • PostgreSQL Datenbank

  • Python Runtime

Betriebsystem

Odoo läuft grundsätzlich unter Linux, macOS oder Windows, aber je nachdem welche Zusatzmodule man einsetzen will, werden zusätzliche Python Bibliotheken benötigt. Diese sind meist für Linux optimiert. Deshalb arbeiten wir grundsätzlich mit Linux als Betriebssystem und Docker. Welches Linux Variante verwendet wird, ist Geschmacksache. Es sollte darauf geachtet werden, dass die neuste Version von Docker unterstützt wird.

Wir empfehlen mindestens:

  • 2 CPUs

  • 8 GB Speicher

  • SSD Drives mit min. 50 GB Speicher

SSD Performance messen

Die Geschwindigkeit lässt sich mit dem "dd"-Befehl gut messen, in dem z.B. ein 100 Megabyte große Datei 10 x geschrieben und gelesen wird.

dd if=/dev/zero of=$HOME/testfile bs=100M count=10 \
oflag=direct && rm $HOME/testfile


Sinnvoll ist es verschiedene Dateigrößen und Wiederholungen zu testen. Der I/O sollte min. 500 MB/s sein.

nginx (Reverse Proxy)

Zwar hat Odoo einen Webserver integriert, aber über einen Reverse Proxy lässt sich der Zugriff auf das System optimieren und SSL verschlüsseln.

Beim Einsatz eines Proxy müssen Sie in der Odoo Konfiguration den Wert "Proxy=True" setzen.

Aber es geht noch schneller, wenn man den nginx neu kompiliert und mit den Apache Pagespeed für nginx und memcache erweitert. nix_pagespeed

Skripte

Dazu haben wir fertige Skripte für Debian/Ubuntu oder centos: Skripte unter GitHub

Helper

Unterstützung bei der Einrichtung der Konfiguration bietet unser Tool "nginx-set-conf". Quellcode dazu unter GitHub nginx-set-conf sowie als mit pip installierbares Paket unter Paket unter PyPi.

Damit lässt sich die Website von Odoo um bis zu 30% beschleunigen.

PostgreSQL

Wer die PostgreSQL installiert bekommt eine Standard Einstellung, die auch unter sehr langsamen und alten Installationen läuft. Schnelle Abhilfe schafft hier die Website pgtune


Damit können Sie einfach die optimalen Einstellungen für Ihre PostgreSQL Version, die Hardware und den Einsatzzweck die beste Konfiguration finden.

Odoo läuft auch schon mit PostgreSQL 15. Allerdings müssen Sie die aktuellen Client-Pakete Ihrer Installation hinzufügen.

apt-get install -y postgresql-client-15

Vergessen Sie nicht den PostgreSQL Dienst neu zu starten!

Python Runtime

Odoo läuft zwar auch mit älteren Python Versionen, aber wir empfehlen die Version 3.8. Wir haben festgestellt, dass es mit neueren Versionen mit einigen Bibliotheken zu Problemen kommen kann und eine deutliche Performance Steigerung erreichen Sie viel einfacher!

Geheimtyp Pyston

Pyston ist ein JIT Compiler für Python. Allein durch das Hinzufügen der Bibliothek mittels 

pip install pyston_lite_autoload

lässt sich Ihr Odoo System gerade bei Rechenintensiven Funktionen deutlich beschleunigen!

Fazit

Odoo lässt sich mit einfachen Mitteln abermals stark beschleunigen. Die vorgestellten Mittel gelten auch für ältere Version ab Odoo 12.

Wir hoffen, dass wir Ihnen mit diesem Artikel einige Anregungen geben konnten und freuen uns stets über Feedback. Gerne wir Ihnen auch Support für die Optimierung Ihres Odoo Systems an.