performance-profilinglisted
Install: claude install-skill afine907/skills
# Performance Profiling — 性能分析技能
系统性性能分析,从指标采集到瓶颈定位再到优化方案。
## Goal
系统性性能分析和优化,包含 CPU/内存/IO 分析、瓶颈定位、优化方案、监控指标
## Trigger
- 用户要求"性能分析"、"性能优化"、"分析瓶颈"
- 系统响应慢需要定位原因
- 需要建立性能监控
## 分析流程
```
问题定义 → 指标采集 → 瓶颈定位 → 优化方案 → 效果验证 → 持续监控
```
## 性能指标体系
### 应用层指标
| 指标 | 含义 | 健康范围 |
|------|------|----------|
| P50 响应时间 | 50% 请求的延迟 | < 200ms |
| P95 响应时间 | 95% 请求的延迟 | < 500ms |
| P99 响应时间 | 99% 请求的延迟 | < 1000ms |
| TPS/QPS | 每秒事务/查询数 | 业务预期的 1.5 倍 |
| 错误率 | 失败请求占比 | < 0.1% |
| 并发数 | 同时处理的请求数 | < 连接池大小 |
### 系统层指标
| 指标 | 含义 | 健康范围 |
|------|------|----------|
| CPU 使用率 | 处理器负载 | < 70% |
| 内存使用率 | 内存占用 | < 80% |
| 磁盘 I/O | 磁盘读写 | < 80% 利用率 |
| 网络 I/O | 网络带宽 | < 70% 带宽 |
| 连接数 | 数据库/HTTP 连接 | < 连接池 80% |
### 数据库指标
| 指标 | 含义 | 健康范围 |
|------|------|----------|
| 查询延迟 | 单次查询耗时 | < 10ms (简单查询) |
| 慢查询数 | 超过阈值的查询 | < 1/分钟 |
| 连接池使用率 | 活跃连接占比 | < 80% |
| 缓存命中率 | 缓存有效率 | > 90% |
| 锁等待时间 | 等待锁的时间 | < 100ms |
## Python 性能分析
### cProfile 基础分析
```bash
# 分析整个脚本
python -m cProfile -s cumtime script.py
# 输出到文件
python -m cProfile -o output.prof script.py
# 可视化分析
pip install snakeviz
snakeviz output.prof
```
### line_profiler 逐行分析
```python
# 安装: pip install line_profiler
# 使用 @profile 装饰器
@profile
def slow_function():
data = load_data() # Line 3
processed = process(data) # Line 4
result = calculate(processed) # Line 5
return result
```
```bash
# 运行分析
kernprof -l -v script