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 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--2e80b3

View the source on GitHub

Browse the @skills marketplace