压力测试与优化
优化方法
1、Redis缓存
整个接口缓存
如果是controller接口,可以在注解中增加缓存
如果是service层,可以使用自定义缓存,在方法体内的开始和结尾增加缓存
也可以增加mybatis一二级缓存,需要注意缓存的时间
2、Redis缓存优化
value值一般都是把对象或者集合类存储到Redis中,这其中涉及到数据的转码,可以通过Fastjson,更好的方式是使用序列号,推荐pototstuff;
3、Redis缓存key优化
存储多个相同的key,减少热点key
可以使用System获得当前时间,在除100,进行取余的方式对key进行散列;
4、Redis批处理
使用pipLine或者lua方式执行redis命令,减少与redis的网络开销;
5、Redis存值注意
只存必须的字段,即需要什么字段存什么字段,不要存储冗余字段,防止大key的出现;
6、同机房调用,服务件调用最好时同机房,减少网络开销;
7、降级
。。。
8、限流
本机AtomicLong限流
Redis集群限流
本机Guava+Redis限流
9、可能提供性能的点
日志,日志,日志,强调
日志级别调高后,对性能提升很大
动态调整日志级别,或者异步日志存储
优化的过程从一方面来看是空间换时间的过程。
收藏文章数量从多到少与“把书读薄”是一个道理
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步