Agent skill · data analytics · sickn33
odoo-performance-tuner
Expert guide for diagnosing and fixing Odoo performance issues: slow queries, worker configuration, memory limits, PostgreSQL tuning, and profiling tools.
Why this skill is useful
Provides specific PostgreSQL tuning commands and Odoo worker configuration patterns that the AI wouldn't reliably generate on its own.
What it needs
About 3k tokens when loaded. Last updated 2026-08-07. 44,571 stars on the source repository.
What this skill does
Odoo Performance Tuner Overview This skill helps diagnose and resolve Odoo performance problems — from slow page loads and database bottlenecks to worker misconfiguration and memory bloat. It covers PostgreSQL query tuning, Odoo worker settings, and built-in profiling tools. When to Use This Skill Odoo is slow in production (slow page loads, timeouts). Getting MemoryError or Worker timeout errors in logs. Diagnosing a slow database query using Odoo's profiler. Tuning odoo.conf for a specific server spec. How It Works 1. Activate: Mention @odoo-performance-tuner and describe your performance issue. 2. Diagnose: Share relevant log lines or config and receive a root cause analysis. 3. Fix: Get exact configuration changes with explanations. Examples Example 1: Recommended Worker Configuration Example 2: Find Slow Queries with PostgreSQL Example 3: Use Odoo's Built-In Profiler Best Practices ✅ Do: Use mapped(), filtered(), and sorted() on in-memory recordsets — they don't trigger additional SQL. ✅ Do: Add PostgreSQL B-tree indexes on columns frequently used in domain filters (partnerid, state, dateorder). ✅ Do: Enable Odoo's HTTP caching for static assets and put a CDN (Cloudflare, AWS CloudFront) in front of the website. ✅ Do: Use @tools.ormcache decorator on methods pulled repeatedly with the same arguments. ❌ Don't: Set workers = 0 in production — single-threaded mode serializes all requests and blocks all users on any slow operation. ❌ Don't: Ignore limitmemorysoft — workers exceeding it are recycled between requests; without the limit they grow unbounded and crash. ❌ Don't: Directly manipulate prefetchids on recordsets — rely on Odoo's automatic batch prefetching, which activates by default. Limitations PostgreSQL tuning (sharedbuffers, workmem, effectivecachesize) is highly server-specific and not covered in depth here — use PGTune as a starting baseline. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills sickn33/odoo-performance-tuner