思路
- 通过kibana查看,活动抢购中order的接口耗时,分析接口耗时原因
1.1 如果为连接数占满,导致排队超时,修正数据库连接数配置;
1.2 查询接口使用频次高,分析业务场景是否支持缓存,可以则走缓存,注:考虑缓存命中率; - explain 分析sql是否有优化空间,索引是否有效
- 分析数据,业务场景是否可以拆分成读写库,写入走主库,查询走从库
缓存代码摘抄
return cacheService.cache(ORDER_CACHE_NAMESPACE, PROMOTION_SUMMARY_BY_SPU_KEY + spuId, FIVE_MINUTE, () -> {
SpuPromotionSummaryResponse spuPromotionSummaryResponse = new SpuPromotionSummaryResponse();
buildSpuPromotionSummaryResponse(spuId, spuPromotionSummaryResponse);
return spuPromotionSummaryResponse;
});