← Back to courses
Performance metrics graph with server optimization abstract visuals
Odoo course

Odoo Performance Mastery

Find and remove Odoo performance bottlenecks at the ORM, SQL, Python and server level.

Middle-Senior odooperformancescalabilitypostgresql

A practical course for Odoo developers who want to stop guessing about performance and start diagnosing it properly. The focus is on actual bottlenecks, the tools to find them, and profiling you can repeat.

What You’ll Gain

  • Understanding of how Odoo actually spends time: ORM, caching, SQL, RPC, views, workers.
  • Ability to quickly locate bottlenecks using profiling tools, logs, statistics, and structured methods.
  • Clear patterns for writing fast and predictable business logic.
  • Skill to prepare Odoo for heavy data loads, large teams, and high-traffic systems.

Course Modules

1. Odoo Performance Foundations

1 lesson

Build a mental model of where performance is lost in Odoo, and what to measure first.

  • What “performance” means in Odoo:

  • ORM cost model: prefetching, lazy reads, cache hits/misses.

  • SQL cost model: joins, locks, sequential scans.
  • Worker model: concurrency, gevent, I/O.
  • Reading Odoo’s logs for performance: query timings, prefetching statistics, RPC timings.
  • Identifying slow patterns without tools: the “smell test”.
  • Homework: analyze a provided log and locate the 3 most probable bottlenecks.

2. ORM, Python & Business Logic Optimization

1 lesson

Learn to write code that scales, and fix common bottlenecks introduced by developers.

  • ORM anti-patterns and how to rewrite them:

  • Loops of .search() or .browse().

  • Massive mapped()/filtered() on recordsets.
  • Wrong compute/store usage.
  • Improper domain construction.
  • Caching: how the Odoo cache works, cache poisoning, cache invalidation traps.
  • When to drop to SQL: safe patterns for hand-written queries, read_group, batching techniques.
  • Profiling Python in Odoo: cProfile, profilehooks, Odoo internal timing tools.
  • Homework: refactor a slow method using ORM wins + apply profiling to show improvement.

3. PostgreSQL & Server-Side Optimization

1 lesson

Go deeper: understand what happens in PostgreSQL and how server configuration impacts performance.

  • PostgreSQL diagnostics:

  • EXPLAIN (ANALYZE, BUFFERS), reading execution plans.

  • Locks, deadlocks, slow queries, vacuum & analyze.
  • Indexing strategies for Odoo models.
  • Key server tuning:

  • workers, gevent, max_cron_threads, db_maxconn.

  • Impact of memory settings, I/O, network latency.
  • Multi-worker performance pitfalls: cache isolation, concurrency issues, duplicate work.
  • Homework: analyze execution plan for a provided query and propose an index or rewrite.

4. Frontend, Assets, Long Transactions & Final Strategy

1 lesson

Combine all layers into a single diagnostic strategy that works in real production environments.

  • Frontend/HTTP:

  • Slow controllers, large payloads, over-rendered views.

  • Assets, lazy loading, RPC batching.
  • Queueing, cron, long transactions:

  • Preventing locks and huge commits.

  • Splitting long jobs safely.
  • Load-testing Odoo (practical methods without expensive tools).
  • A complete end-to-end workflow for diagnosing any performance issue.
  • Final mini-project: define performance strategy for a given scenario (e-commerce, WMS, heavy accounting, etc.).