What problem does it solve?
It solves production performance issues in Frappe/ERPNext where pages load slowly, database queries underperform, Redis cache grows inefficiently, and worker saturation or misconfiguration causes timeouts and delayed background jobs.
Core Features & Use Cases
- End-to-end performance tuning across the full stack: coordinates MariaDB (InnoDB/slow queries), Redis cache/queues sizing, Gunicorn worker counts/timeouts, and RQ background workers together instead of optimizing only one layer.
- Practical bottleneck diagnosis: maps symptoms (slow pages, delayed jobs, slow queries, OOM/swap, high CPU) to specific checks like slow query logs, Redis memory/evictions, and worker backlog.
- Production-ready configuration patterns: provides concrete MariaDB tuning knobs, Redis maxmemory/eviction guidance, and safe scaling formulas/monitoring commands to prevent new bottlenecks.
- Use case example: when an ERPNext instance becomes sluggish after traffic increases, use the decision tree to identify whether the slowdown is caused by missing indexes and slow queries, insufficient Gunicorn/RQ workers, Redis memory pressure, or static asset delivery without a CDN.
Quick Start
Use the skill to diagnose slow page loads by first running bench doctor, then analyzing the MariaDB slow query log, and finally validating Gunicorn worker saturation and Redis cache memory configuration.