关键接口性能测试报告
第1章 概述
1.1 编写目的
编写该测试总结主要有以下几个目的:
1、 通过对性能的测试结果的分析,得到对网站性能的评估;
2、 分析测试的过程、为网站持续改进的质量过程提供参考。
1.2 项目背景
本项目是应开发中心的要求,对xx网站所涉及的关键/接口性能的情况进行压力测试与分析,以期辅助技术支持人员对服务器进行性能调优。
1.3测试对象
1.4测试范围
针对上述接口进行压力测试,本次测试仅对该地址访问产生的数据交互做为测试依据,并且由于时间紧,只测试以上每个接口在模拟真实用户情况下的并发数能力。
第2章 测试活动
2.1 测试目的
对上述接口进行压力测试,分析其真正的负载能力及并发能力,从而为技术人员对服务器性能调优提供参考。
2.2 测试组织架构
2.3 测试环境
2.4 测试工具
loadrunner
nmon
2.5 测试过程
从xxx至xxx展开对上述接口的并发数,事务响应时间等指标进行压力测试,性能分析与服务器调优,其间进行了多次测试,最终选取代表性的测试场景作为数据来原依据。
2.6 测试场景
场景一:城市字母列表接口并发能力测试
分别设置200,300个虚拟用户,每个虚拟用户里面设置集合点,每1秒增加2个用户,所有的虚拟用户和人加载完毕后,持续向服务器发起请求。稳定运行30分钟。(本次测试接近真实用户行为)结果图如下:
200并发用户,性能稳定,图略
300并发用户,事务平均响应时间为1.925,事务平均响应时间与每秒请求数合并图如下:
场景二:城市推荐景点接口测试
分别设置200,300个虚拟用户,每个虚拟用户里面设置集合点,每1秒增加2个用户,所有的虚拟用户和人加载完毕后,持续向服务器发起请求。稳定运行30分钟。(本次测试接近真实用户行为)结果图如下:
200并发用户,性能稳定,图略
300并发用户,事务平均响应时间为0.158,性能稳定,图略
此时服务器资源,如图:
内存资源使用图如下:
场景三:取varnish中图片接口测试
分别设置200,300,600,800,1000个虚拟用户,每个虚拟用户里面设置集合点,每1秒增加2个用户,所有的虚拟用户和人加载完毕后,持续向服务器发起请求。稳定运行30分钟。(本次测试接近真实用户行为)结果图如下:
200,300,600,800并发用户,性能稳定,图略
1000并发用户,运行稳定,平均事务响应时间为最大为1.664,此时平次事务请求数为108.325。参照下图:
对应的服务器资源使用情况监控图请参照下图:
内存使用情况,总体占用空间不大,如下图:
场景四:图吧转坐标接口测试
分别设置300,500个虚拟用户,每个虚拟用户里面设置集合点,每1秒增加2个用户,所有的虚拟用户和人加载完毕后,持续向服务器发起请求。稳定运行30分钟。(本次测试接近真实用户行为,由于会影响到线上服务器,所以没有继续加大用户并发量) 结果图如下:
300并发用户,性能稳定,图略
500并发用户,事务平均响应时间为0.678,性能稳定,平均事务响应时间与TPS合并图如下
此时服务器资源使用情况如下图:
内存使用情况如下图:
第3章 测试结果分析
3.1 测试结果分析
业务性能指标统计分析结果:
业务名称 |
并发数 |
业务平均响应时间(秒) |
业务成功 次数 |
业务失败次数 |
业务失败率(%) |
平均TPS(个) |
城市字母列表接口。 |
300 |
1.925 |
97736 |
192 |
0.19% |
23.102 |
城市推荐景点。 |
300 |
0.158 |
377,676 |
111 |
0.02% |
89.486 |
取varnish中图片(以反应最慢的图片值为参考) |
1000 |
1.644 |
310,244 |
0 |
0 |
54.189 |
图吧转坐标, |
500 |
0.678 |
136.222 |
0 |
0 |
58.92 |
从表中结果可以看出,城市字母列表接口与城市推荐景点两个接口的并发量在300的情况下错误率比较小,由于该业务与数据库有关系,性能比其它两个结果要低不少,经开发讨论此值也应该可以满足目前我们的业务需求。
资源监控
序号 |
接口名称 |
CPU使用率 |
内存 |
备注(参照文件) |
1 |
城市字母列表接口。 |
42.4% |
无溢出 |
leador241_131114_1505.xlsx |
2 |
城市推荐景点。 |
7.5% |
无溢出 |
leador241_131114_1421.xlsx |
3 |
取varnish中图片。 |
5.8% |
无溢出 |
leador-web-220-113-2-91_131115_1005.xlsx |
4 |
图吧转坐标, |
3.1% |
无溢出 |
leador241_131114_1651.xlsx |
第4章 测试结论与建议
经过反反复复多次测试,在先后调整测试服务器openfiles, Max user Process, Max user Thread, 以及sql连接数等服务器参数后,在服务器CPU占用合理,内存占用合理的情况下最终得出的上述结果,
城市字母列表接口与城市推荐景点两个接口的并发量在300的情况下错误率比较小,由于该业务与数据库有关系,所以经过计论认为可以满足目前的现实需求。
取varnish中图片和图吧转坐标这两个接口的并发能力较强,分别为1000与500,可以满足我们目前的业务需求。
由于我们测试环境主数据库是与tomcat安装在一台服务器上的,直接会影响到服务器I/O指标(上面服务器监控图中I/O峰值都比较高,当然与并发用户请求有关),所以建议我们对数据库再进行优化。其它方面的性能参数大家可以看附录文件。
另外我们还有几个接口与线上服务器有关,以后测试环境具备测试条件后再进行测试,如果有时间我们还可以从网站的其它TPS,HPS等指标,从数据库的性能角度做针对性的测试,这样就会得到一个比较全面的测试结果。
关键接口性能测试报告相关推荐
- 【总结】个人推荐的接口测试工具和接口性能/压力测试工具
一般接口有2种测试,现在很多是模糊了这个,但是如果细分.一般还要写<接口测试用例>和<接口性能测试用例>.同样,也分接口测试报告和接口性能测试报告. 接口的本质及其工作原理 接 ...
- 性能测试报告不会写?最标准的模板来了
目录 性能测试报告 1. 测试概述 1.1 测试目标 1.2 指标和术语 2. 环境.工具 2.1 测试环境 2.2 测试工具 3. 测试方案 3.1 测试类型 3.2 业务模型 3.3 加密验签处理 ...
- 性能测试报告模板 V1.0
1. 测试项目概述与测试目的 1.1 项目概述 本部分主要是针对即将进行压力测试的对象(接口.模块.进程或系统)进行概要的说明,让人明白该测试对象的主要功能与作用及相关背景. 1.2 测试目标 简要列 ...
- 如何做一份精致的性能测试报告
相比于普通的功能测试,性能测试对测试工程师的技能要求更高,一般来说,也只有中高级测试工程师才会有机会做性能测试. 本文通过下面三个部分来介绍 性能测试报告的目的 性能测试过程中的关注点有哪些? 如何做 ...
- 细说接口性能优化的11个小技巧
前言 接口性能优化对于从事后端开发的同学来说,肯定再熟悉不过了,因为它是一个跟开发语言无关的公共问题. 该问题说简单也简单,说复杂也复杂. 有时候,只需加个索引就能解决问题. 有时候,需要做代码重构. ...
- 详细的聊聊接口性能优化的11个小技巧 不收藏对不起我
前言 接口性能优化对于从事后端开发的同学来说,肯定再熟悉不过了,因为它是一个跟开发语言无关的公共问题. 该问题说简单也简单,说复杂也复杂. 有时候,只需加个索引就能解决问题. 有时候,需要做代码重构. ...
- 聊聊接口性能优化的11个小技巧
点击下方"IT牧场",选择"设为星标" 前言 接口性能优化对于从事后端开发的同学来说,肯定再熟悉不过了,因为它是一个跟开发语言无关的公共问题. 该问题说简单也简 ...
- App首屏接口性能优化
目前所在项目组开发的是一款母婴产品,集工具和社区属性.截止本文发布,注册用户接近7000万,首屏接口日访问量过百万.在首屏中,会给用户展现不同的数据,比如每日任务,宝宝(婴儿)每日概述,胎教音乐,运动 ...
- 性能测试平台搭建及简单使用(jmeter分布式+influxdb2.0+grafana)附性能测试报告
目录 一.jmeter分布式配置 1.分布式介绍 2.配置JDK 3.slave机器配置(linux系统为例,windows资源杂乱不建议使用) 4.master机器配置(windows系统为例,作为 ...
- Mac安装与配置jmeterjmeter的使用jmeter生成性能测试报告
前言:了解JMeter JMeter用于高并发压力测试 一.下载JMeter https://jmeter.apache.org/download_jmeter.cgi 进入官网下载JMeter安装包 ...
最新文章
- UA MATH563 概率论的数学基础 鞅论初步7 停时与Upcrossing不等式
- 在TensorFlow和PaddleFluid中使用多块GPU卡进行训练
- 同时读取两个USB摄像头采集
- Bootstrap(自助法),Bagging,Boosting(提升)
- Linux网络DNS分离解析
- 列主消元法解非奇异线性方程组的MATLAB程序
- VMware 虚拟机扩展Ubuntu系统磁盘空间
- 【Pytorch】LeNet的pytorch写法
- 圆周率用计算机能算出来不,怎样用普通的家用计算机计算圆周率?
- 广东科技学院计算机学院院长,陈强-广东科技学院-计算机学院
- bitcoin轻钱包之SPV验证
- baidu patchrom项目 make后刷机包脚本多一个0解决
- 敏捷迭代是什么意思_我认为“敏捷”的方向是第4部分:“敏捷”是什么意思?...
- 记录软考上午题1计算机系统之1.2 计算机体系结构及真题
- linux 修改xt_recent参数 ip_list_tot ip_pkt_list_tot
- arcgis server发布shp服务实现数据库更新后服务也相应更新数据
- GeoGebra画正态分布密度曲线两种方式
- 产生式正向推理和逆向推理程序
- java架构师入门教程,java技术架构师入门到精通高薪就业教程百度云下载
- 普通主播一个月能挣多少钱?结合身边的案例告诉你主播真实的收入!
热门文章
- 用计算机用图解法求理论塔板数,简洁法计算理论板数工具
- Qt Designer怎样加入资源文件
- Type-C接口技术(一)
- 国内主要OTT平台背后的那些CDN服务商
- petalinux 2020.2 安装教程,基于ubuntu20.04.LTS版本
- 单元格下拉全选快捷键_excel全选快捷键是什么,excel表格全选快捷键是什么?...
- 电脑有英伟达独显,有了英伟达显卡驱动还要英特尔显卡驱动吗?
- MySQL的登陆【数据库系统】
- 视频播放神器——PotPlayer基本设置
- maxscale mysql 主从_orchestrator+maxscale+mysql5.7GTID主从切换测试过程