Odoo und seine Datenbank. Ein Server, richtig eingestellt.
Gib deinen Server ein und du bekommst die odoo.conf für dein Live-System und jede Testkopie, dazu die postgresql.conf für die Datenbank, die sie sich teilen. Dahinter steckt dieselbe Rechnung, die calmo.cloud auf jedem verwalteten Server anwendet.
Wohin der Arbeitsspeicher geht
Was jeder Teil höchstens nehmen darf, nicht was er an einem ruhigen Nachmittag braucht. Sicher ist ein Plan nur, wenn die Zusagen aufgehen.
System, Proxy und Monitoring 1,6 GB
PostgreSQL 1 GB
Live 9,6 GB
Test 1 3 GB
Nicht vergeben 793,6 MB
15,2 GB von 16 GB zugesagt. Alles passt.
17 Odoo-Prozesse ·
Odoo darf 90 der 110 Datenbankverbindungen öffnen, die PostgreSQL annimmt.
odoo.conf
Ein Block pro Odoo. Speichergrenzen stehen in Bytes, so liest Odoo sie.
4 Worker und 2 Cron-Threads · 512 MB weiche und 2 GB harte Grenze pro Prozess · 4 Datenbankverbindungen pro Prozess
postgresql.conf
Ein PostgreSQL für alle. Trag die Zeilen in die postgresql.conf ein oder setz sie mit ALTER SYSTEM. shared_buffers, max_connections, max_worker_processes und autovacuum_max_workers greifen erst nach einem Neustart.
PostgreSQL-Tuning nach Lehrbuch geht davon aus, dass die Datenbank den Server für sich allein hat. Odoos Deployment-Leitfaden geht davon aus, dass die Datenbank woanders läuft. Folgst du beiden auf einer Maschine, verteilen sie denselben Arbeitsspeicher zweimal.
Für diesen Server
Lehrbuch + Odoo-Leitfaden
Dieser Rechner
PostgreSQL shared_buffers
4 GB
128 MB
PostgreSQL effective_cache_size
12 GB
8 GB
PostgreSQL work_mem
20,1 MB
15 MB
PostgreSQL max_connections
200
125
Odoo-Prozesse, alle Instanzen
18
17
Verbindungen, die Odoo öffnen darf
1.152Odoo darf 1.152 Datenbankverbindungen öffnen, PostgreSQL nimmt aber nur 200 an.
90
Arbeitsspeicher für PostgreSQL und Odoo
40 GBmehr, als der Server hatOdoos Leitfaden schätzt 9,7 GB
13,6 GB
PostgreSQL nach Lehrbuch für eine Webanwendung auf Linux mit SSDs: ein Viertel des Arbeitsspeichers für shared_buffers, drei Viertel für effective_cache_size, 200 Verbindungen. Odoos Regel von (Kerne × 2) + 1 Prozessen für jede Instanz, und was sie offenlässt, mit Odoos Standardwerten: 2 GB weiche Speichergrenze und 64 Verbindungen pro Prozess. Die Schätzung des Leitfadens rechnet ein Fünftel der Anfragen als schwer mit 1 GB, den Rest mit 150 MB.
Quellen: Odoos Deployment-Leitfaden und OdooBench. Die Werte sind ein Startpunkt für eine typische Odoo-Last; behalte deinen Server nach dem Einspielen im Blick.
Warum die Zahlen von den Leitfäden abweichen.
PostgreSQL bekommt nur einen Cache, den es nutzen kann
Tuning nach Lehrbuch gibt PostgreSQL ein Viertel des Arbeitsspeichers. Neben Odoo fehlt dieser Speicher dem Seitencache des Betriebssystems, der dieselben Tabellen schon zwischenspeichert. Einen großen eigenen Cache bekommt PostgreSQL erst, wenn die Datenbanken in das passen, was übrig ist.
Testkopien sind keine Produktion
Odoos Regel legt ein System auf die ganze Maschine aus. Eine Testkopie bekommt stattdessen einen Anteil am Server und kann deinem Live-System so keinen Platz wegnehmen.
Verbindungen, die aufgehen
Jeder Odoo-Prozess darf standardmäßig 64 Verbindungen öffnen. Das Limit wird auf alle Prozesse des Servers verteilt, 15 bleiben frei für Backups, Monitoring und dich.
Schwere Anfragen laufen trotzdem durch
Jeder Worker bekommt im Alltag einen kleinen Anteil, aber die harte Grenze lässt Platz, damit ein großer Export oder Bericht fertig wird. Sie ist auf den halben Arbeitsspeicher gedeckelt, damit ein einzelner Ausreißer nicht den Server mitnimmt.
calmo.cloud macht das für dich. Und es ist schneller.
Auf calmo.cloud kopiert niemand diese Zahlen von Hand. Die Plattform liest die Hardware über ihren Monitoring-Agenten, stellt Odoo und PostgreSQL gemeinsam ein und sagt dir Bescheid, wenn ein neuer Dienst oder ein größerer Server neue Werte braucht. Die Regeln hinter diesem Rechner haben wir auf echten Servern geprüft, bevor sie eingebaut wurden.
+95 %
mehr Anfragen pro Sekunde auf demselben Server mit 4 Kernen und 8 GB: 140 ohne Tuning, 273 mit
−50 %
Wartezeit pro Klick im Alltag, von 55 auf 28 Millisekunden
8,5×
der Durchsatz auf einem Server mit 16 Kernen und 84,5 Millionen Datensätzen: 59,9 Anfragen pro Sekunde ohne Tuning, 508,2 mit eingestelltem Odoo und eingestellter Datenbank
Was die Messungen verändert haben
Ein Cache nach Lehrbuch kostete 14 %
Auf einem Server mit 8 GB und 35 GB Daten kostete ein 2 GB großer Puffer 14 % Durchsatz gegenüber dem PostgreSQL-Standard, weil er den Cache des Betriebssystems verdrängt hat.
Eine Listenansicht von 30 ms auf 1 ms
PostgreSQLs Query-Compiler sprang bei kurzen Abfragen auf großen Odoo-Tabellen an. Jetzt wartet er auf Abfragen, die wirklich teuer sind.
Kein MemoryError mehr bei großen Gruppierungen
Eine harte Grenze von 1,25 × der weichen hat eine Gruppierung über zwei Millionen Werte abgebrochen. Mit 2 GB ist sie nach 8,3 Sekunden fertig.
Zahlen für 4 Kerne: Odoo 19 und PostgreSQL 18 mit 16,9 Millionen Datensätzen, acht angemeldete Nutzer, die dieselben Aufrufe wie der Web-Client senden, 60 Sekunden Aufwärmen und drei Läufe à 90 Sekunden pro Variante, Median der Läufe, keine Fehler. Die Zahlen für 16 Kerne stehen in der README von OdooBench.
OdooBench ist unser Open-Source-Benchmark für Odoo. Es meldet sich als echter Nutzer an, spielt ab, was der Web-Client beim Öffnen, Filtern oder Gruppieren einer Liste sendet, und sagt dir, ob eine Änderung wirklich etwas bewegt hat. Lass es vor und nach dem Einspielen dieser Werte laufen.
Ja, ohne Anmeldung. Die Zahlen kannst du auf jedem Server nutzen, mit oder ohne calmo.cloud.
Warum ist shared_buffers so klein?
Weil ein großer PostgreSQL-Cache auf einem Server, auf dem auch Odoo läuft, dem Cache des Betriebssystems Speicher wegnimmt, und der erledigt dieselbe Arbeit. Mit einem Puffer in der üblichen Lehrbuchgröße haben wir 14 % weniger Durchsatz gemessen. PostgreSQL bekommt einen größeren Cache, sobald deine Datenbanken in den übrigen Arbeitsspeicher passen.
Warum bekommen Testinstanzen so wenig?
Eine Testkopie ist zum Ausprobieren da, nicht für dein ganzes Team. Sie bekommt einen Anteil am Server, damit das Live-System auch mit mehreren Kopien daneben genug Platz behält.
Speichert der Rechner, was ich eingebe?
Nein. Die Zahlen werden nur für die Berechnung dieser Seite verwendet.
Wie läuft das auf calmo.cloud?
Du gibst nichts ein. Die Plattform liest Kerne und Arbeitsspeicher vom Server, die Datenbankgröße aus PostgreSQL und rechnet neu, wenn du einen Dienst hinzufügst oder den Server vergrößerst. Sie startet die Datenbank nie hinter deinem Rücken neu, und wenn PostgreSQL einen Wert ablehnt, nimmt sie ihn von selbst zurück.
Eine ruhigere Cloud kommt
Dein nächstes Kapitel. Ein Stück mehr Himmel.
Trag dich auf die Warteliste ein für frühen Zugang und Neuigkeiten zum Start. Bring dein Odoo mit. Behalte deine Unabhängigkeit.