- 📌Skill基础信息
- Skill名称:db-performance
- 简称:数据库性能调试工具
- 来源:社区第三方(psalmprax/ettametta)
- 运行宿主:仅限 ettametta 项目环境(依赖特定项目的数据库配置和Docker容器)
- 核心定位:针对 PostgreSQL/SQLite 数据库的性能问题提供快速诊断工具,适用于慢查询分析、连接池监控、迁移冲突检测等场景。
- 🧩内部核心组成
- 诊断命令集合:
| 命令/查询 | 功能简述 |
|---|---|
SELECT count(*) FROM pg_stat_activity | 检查当前活跃连接数 |
SELECT pid, duration, query... | 列出长时间运行的活跃查询 |
SELECT relname, n_live_tup... | 统计表数据量和占用空间 |
alembic heads/current/check | 迁移状态验证 |
- 配置规则:
- 包含 FastAPI/Celery 的异步/同步连接池配置参数
- 三种 Session 管理模式(带事务回滚、NullPool 隔离等)
- 模型分析:
- 35个无关联声明的ORM模型
- 标记了潜在缺失索引的字段(如 user_id 相关字段)
- 已知问题库:
- N+1查询模式(如统计类路由)
- 内存分页缺陷(未使用SQL分页)
- 🛠安装与启用方式
- 前置依赖:
- 需在 ettametta 项目Docker环境运行
- 已配置 PostgreSQL/SQLite 数据库
- 安装命令:
```bash
skills install --user psalmprax/ettametta
```
- 使用入口:直接执行文档中的诊断命令(需通过
docker compose exec调用)
- 📋标准工作流
- 发现问题:应用出现慢查询或连接池告警
- 连接检查:执行
pg_stat_activity查询确认连接数 - 查询分析:通过活跃查询列表定位耗时操作
- 结构验证:检查表大小、索引缺失情况
- 迁移审查:用
alembic命令验证迁移一致性 - 配置调整:根据输出调整连接池参数或补充索引
- ⚠️关键限制、缺陷、注意事项
- 环境限制:仅适用于 ettametta 项目架构,不可移植到其他项目
- 数据库类型:SQLite诊断功能有限(如连接数监控无效)
- 性能影响:NullPool模式会导致高频操作性能下降
- 生产风险:
- CI/CD直接使用 create_all() 可能引发迁移不一致
- 缺少时区处理的Workaround可能引发数据问题
- ✅适用场景 & ❌不适合场景
- 推荐场景:
- ettametta 项目中的数据库性能调优
- 开发环境复现生产环境的慢查询问题
- 验证迁移文件与模型定义的冲突
- 不推荐场景:
- 非PostgreSQL数据库的深度诊断
- 需要长期监控的生产环境(无持续采集功能)
- 无Docker环境的本地调试
如何安装
skills install --user psalmprax/ettametta通用安装教程:在哪里输入上面的命令
上面的命令本质是在「终端 / 命令行」中调用技能管理器,把该 Skill 下载并注册到你的 AI 工具。各主流工具打开终端的位置不同,按下面操作即可:
- 打开工具自带的终端面板,或系统终端(macOS「终端」、Windows「PowerShell」、Linux「Terminal」)。
- 把上面的安装命令复制进去,回车运行,等待下载与注册完成。
- 重启或重新加载 AI 工具,让新安装的 Skill 被识别。
- 新建对话并触发:直接描述用途,或通过该工具的技能 / 斜杠菜单选中此 Skill。
Claude 桌面版(macOS / Windows)
桌面版没有内置命令行,Skill 需通过 Claude Code CLI 安装。打开系统终端,先执行 npm install -g @anthropic-ai/claude-code,再运行上面的安装命令;完成后完全退出并重新打开 Claude。
Claude Code(终端 CLI)
直接在项目目录的终端里运行上面的命令即可。也可先输入 claude 启动交互界面,再在对话中引用该 Skill(/ 斜杠菜单或直接描述用途)。
VS Code(含 GitHub Copilot)
打开终端面板:菜单「终端 → 新建终端」,或快捷键 Ctrl+`(macOS 为 ⌃+`)。在终端里运行上面的命令;装完后执行「重新加载窗口」(Ctrl+Shift+P → Reload Window),让 Copilot 等扩展识别新技能。
Cursor
底部「终端」面板(Ctrl+`)即是内置终端。粘贴运行上面的命令,完成后在命令面板执行「Reload Window」刷新,再开始对话。
Windsurf
底部「终端」面板运行命令;也可直接使用其内置 Agent 终端,在对话侧执行安装。
其他工具(ChatGPT、本地脚本等)
不支持本地终端的产品,可先在本机终端完成安装,再在对话中描述该 Skill 的能力让其调用;不同工具的命令格式请以其官方文档为准。
风险提示
自动扫描未发现高危命令、隐私抓取或数据外传行为。仍建议安装前快速浏览仓库代码。
Aitishiku.com