A fast-paced course for Odoo developers who want to stop guessing and start systematically diagnosing and fixing performance issues. No theory for the sake of theory — real bottlenecks, real tools, real profiling.
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/storeusage. - 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.).
Contacts
Email: aghanimoff@gmail.com
Telegram: @aghanimoff
LinkedIn: Valerii Sharlai