zoukankan      html  css  js  c++  java
  • 接口性能测试随笔

    之前很少做性能测试,经过两周的奋战,终于拿出了一份报告。过程坎坷,记录以备忘。

    1、jmeter java请求,记得在finally代码块中调用SampleResult.sampleEnd(),否则测试时无响应时间。

    2、YOUNG GC频率比较高,调整启动参数,加大堆初始内存 -Xms4096m

    3、存储过程的效率。自己写的存储过程,半个小时才插入20万数据;经开发优化后,不到5分钟插100万条!!!

    存储过程,不要嵌套类似这样的查询,否则效率很低。 insert into table_name1 values ((select id from table_name2 where xxx), value2, value3 )

    4、查询接口的测试,要考虑db中表的数据量

    5、往db插测试数据的时候,时间字段尽量要随机,不要CURRENT_TIMESTAMP(),否则如果查询接口按时间段查询,30秒间隔会返回很多数据,测试结果失真

    6、分页查询,效率会随着offset增大而大幅降低。40并发,把24核的物理机CPU干到95%,太可怕!找dba排查,定位到是分页查询问题,把接口入参的limit和页数减小,CPU下去了,TPS是之前的三倍。当然查询语句也有问题,select * from table_name1 where id in (select id from table_name2 where xxx)这种语句也很慢

    7、jdk/bin下,有很多的性能监控用的小工具

    8、关注压力机的CPU和内存使用率,有时候是压力机性能瓶颈,导致服务性能指标上不去

    9、测试报告不要只是堆叠数据表格,主要是突出性能场景、性能分析、问题汇总、优化建议等

    10、在新机器上配置环境,部署服务很费时间;由于是新机器,会出现N多问题,工作量评估的时候要考虑到

    11、并发量很大,TPS上不去,响应时间比较长,而且app服务器和db服务CPU/内存都没上去。响应时间长,可能是db连接池过小,导致线程等待时间长。

    把线程池从10~50,改成100~200后,响应时间缩短一半,在高并发的时候。

  • 相关阅读:
    Days like that:
    获取网站访问来源URL
    论坛里面的一个帖子
    Days like that:
    简单项目布署
    论坛里面的一个帖子
    获取网站访问来源URL
    piwik开放源代码的Web统计软件
    p标签里面不能嵌套div
    IO操作 第二篇 学习(转载)
  • 原文地址:https://www.cnblogs.com/dannyyao/p/6528141.html
Copyright © 2011-2022 走看看