压力测试与优化

优化方法

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、可能提供性能的点

  日志,日志,日志,强调

  日志级别调高后,对性能提升很大

  动态调整日志级别,或者异步日志存储

优化的过程从一方面来看是空间换时间的过程。

原文地址:https://www.cnblogs.com/use-D/p/10903456.html