| name | performance-check |
| description | 性能检查工作流,分析 SQL 查询、缓存策略、并发瓶颈、慢接口 |
| triggers | ["性能检查","慢查询","接口优化","SQL 分析"] |
性能检查工作流 — taotao-cloud-goods
适用于商品域(Goods)的查询性能、缓存策略和并发瓶颈分析。
检查清单
1. 数据库查询性能
SHOW VARIABLES LIKE 'slow_query%';
SHOW VARIABLES LIKE 'long_query_time';
EXPLAIN SELECT * FROM t_goods WHERE category_id = ? AND status = ?;
SELECT table_name, table_rows, data_length / 1024 / 1024 AS size_mb
FROM information_schema.tables
WHERE table_schema = 'taotao_cloud_goods';
常见问题
2. 缓存策略检查
| 缓存层级 | 用途 | 建议 |
|---|
| Redis (Redisson) | 商品详情缓存 | 缓存热点商品,TTL 5-30 分钟 |
| 本地缓存 (Caffeine) | 分类树、枚举字典 | 只读数据,TTL 1 小时 |
| 查询缓存 | 分页列表 | 根据变更频率决定是否缓存 |
3. 接口性能分析
curl http://localhost:{port}/actuator/metrics/http.server.requests
curl http://localhost:{port}/actuator/metrics/http.server.requests?tag=uri:/seller/goods/page
4. 并发瓶颈检查
5. 代码层性能
for (Long goodsId : goodsIds) {
GoodsAgg goods = goodsRepository.findById(goodsId);
}
List<GoodsAgg> goodsList = goodsRepository.findByIds(goodsIds);
for (GoodsAgg goods : goodsList) {
Brand brand = brandService.findById(goods.getBrandId());
Category category = categoryService.findById(goods.getCategoryId());
}
Map<Long, Brand> brandMap = brandService.findByIds(brandIds);
Map<Long, Category> categoryMap = categoryService.findByIds(categoryIds);
检查命令
./gradlew :taotao-cloud-goods-assembly:bootRun --args='--spring.profiles.active=dev --logging.level.com.taotao.cloud.goods.infrastructure.persistent=DEBUG'
./gradlew jacocoTestReport
./gradlew dependencyCheckAnalyze
输出格式
📊 性能检查报告
✅ 通过:
- [项目]
⚠️ 警告:
- [项目]
❌ 问题:
- [严重度] [位置] [问题描述]
💡 优化建议:
- [建议]