接口性能优化

Posted by zsh on September 1, 2022

背景

最新公司产品上线,对接口性能有一定的要求,因此需要开展一波接口性能治理

准备工作

  • 压测工具:JMeter或者测试平台
  • 预期目标:期望 X QPS下95%响应时间在Y以下,并且不允许出现大于Z的响应时间
  • 监控工具:Grafana,Prometheus, Arthas

    步骤

    1. 使用压测工具准备好压测用例和数据
    2. 开始释放压测流量
    3. 打开监控页面,监控各项指标
    4. 观察指标
    • cpu异常:通过uptime,top命令观察是否是java进程导致cpu使用率过高,如果是,使用arthas连接java进程,首先执行profiler,为后续分析保留 数据,然后使用trace命令,一步步trace慢方法,找出根源性问题,是代码本身执行耗时太久,还是IO导致的耗时
    • 内存异常:使用arthas把堆内存dump出来做进一步分析
      1. 根据前一个步骤观察的问题进行对应优化