一、测试内容
本次测试是针对图灵云眼系统中即使页面列表新旧接口压测,由于旧接口会导致整个云眼不可用,所有接口都会卡顿,所以进行了俩种测试,一种俩个接口一起发起请求,一种是分开发送请求测试。
二、测试方法
本次采用apache的开源测试工具jmeter,采用本地动态拼装请求数据并通过http协议post方式发送列表请求。
三、测试目标
-
获取在单机部署情况下最大TPS值
-
是否可以达到原来预期值TPS:10
四、测试环境
五、性能测试结果与分析
1、同时发送测试性能截图:
2、分开发送请求测试:
性能总览:
备注:以下三组测试均为以组为单位对比测试,排除机器在不同时间段性能差异。
第一组对比测试:
线程组配置:
旧列表压测性能:
聚合报告:
汇总报告:
接口响应时间图:
重构后列表接口:
聚合报告:
汇总报告:
接口响应时间图:
第二组性能测试:
线程组配置:
旧列表接口压测性能:
聚合报告:
汇总报告:
接口响应时间图:
重构后列表接口:
聚合报告:
汇总报告:
接口响应时间图:
第三组新接口性能测试:
由于第二组中旧接口已经发生超时,故不再针对旧接口进行测试。
线程数30:
线程数100:
线程数300:
六、接口优化项:
1、重构存储模型,将需要用到的条件重新规整。 2、将device_id字段抽出来,与business_uuid单独成为一个关系表,用来查询。 3、hash_name冗余到业务表中,入库新增校验逻辑更新业务事件表中该字段。 4、将查询所有子事件数据新加一个接口返回,原查询列表去除所有子事件,并且添加子事件的缩略图到业务事件中。
参考文档:
安装:
https://jingyan.baidu.com/article/5bbb5a1bcc63a513eba17924.html
官网:
https://jmeter.apache.org/download_jmeter.cgi http://www.jmeter.com.cn/
操作参考:
https://blog.csdn.net/lijing742180/article/details/81158008
———— What is worth doing is worth doing well.
|