zoukankan      html  css  js  c++  java
  • 压力测试与优化

    优化方法

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

      日志,日志,日志,强调

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

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

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

  • 相关阅读:
    golang的并行快速排序
    深信服面试
    一道算法题-勇敢的牛牛
    一道算法题-打车
    一道算法题-最少需要换掉的瓷砖数量
    《C++ Primer Plus》读书笔记之二—复合类型
    图解:TCP协议中的三次握手和四次挥手
    一道算法题-不用加减乘除做加法
    OSI七层模型与TCP/IP五层模型
    Socket编程
  • 原文地址:https://www.cnblogs.com/use-D/p/10903456.html
Copyright © 2011-2022 走看看