第1章 概述

1.1 编写目的

编写该测试总结主要有以下几个目的:

1、 通过对性能的测试结果的分析,得到对网站性能的评估;

2、 分析测试的过程、为网站持续改进的质量过程提供参考。

1.2 项目背景

本项目是应开发中心的要求,对xx网站所涉及的关键/接口性能的情况进行压力测试与分析,以期辅助技术支持人员对服务器进行性能调优。

1.3测试对象

关键接口性能测试报告_第1张图片

1.4测试范围

针对上述接口进行压力测试,本次测试仅对该地址访问产生的数据交互做为测试依据,并且由于时间紧,只测试以上每个接口在模拟真实用户情况下的并发数能力。

2 测试活动

2.1 测试目的

对上述接口进行压力测试,分析其真正的负载能力及并发能力,从而为技术人员对服务器性能调优提供参考。

2.2 测试组织架构

2.3 测试环境

关键接口性能测试报告_第2张图片

2.4 测试工具

loadrunner

nmon

2.5 测试过程

从xxx至xxx展开对上述接口的并发数,事务响应时间等指标进行压力测试,性能分析与服务器调优,其间进行了多次测试,最终选取代表性的测试场景作为数据来原依据。

2.6 测试场景

场景一:城市字母列表接口并发能力测试

分别设置200,300个虚拟用户,每个虚拟用户里面设置集合点,每1秒增加2个用户,所有的虚拟用户和人加载完毕后,持续向服务器发起请求。稳定运行30分钟。(本次测试接近真实用户行为)结果图如下:

200并发用户,性能稳定,图略

300并发用户,事务平均响应时间为1.925,事务平均响应时间与每秒请求数合并图如下:

关键接口性能测试报告_第3张图片

关键接口性能测试报告_第4张图片

关键接口性能测试报告_第5张图片

场景二:城市推荐景点接口测试

分别设置200,300个虚拟用户,每个虚拟用户里面设置集合点,每1秒增加2个用户,所有的虚拟用户和人加载完毕后,持续向服务器发起请求。稳定运行30分钟。(本次测试接近真实用户行为)结果图如下:

200并发用户,性能稳定,图略

300并发用户,事务平均响应时间为0.158,性能稳定,图略

关键接口性能测试报告_第6张图片

此时服务器资源,如图:

关键接口性能测试报告_第7张图片

内存资源使用图如下:

关键接口性能测试报告_第8张图片

场景三:取varnish中图片接口测试

分别设置200,300,600,800,1000个虚拟用户,每个虚拟用户里面设置集合点,每1秒增加2个用户,所有的虚拟用户和人加载完毕后,持续向服务器发起请求。稳定运行30分钟。(本次测试接近真实用户行为)结果图如下:

200,300,600,800并发用户,性能稳定,图略

1000并发用户,运行稳定,平均事务响应时间为最大为1.664,此时平次事务请求数为108.325。参照下图:

关键接口性能测试报告_第9张图片

对应的服务器资源使用情况监控图请参照下图:

关键接口性能测试报告_第10张图片

内存使用情况,总体占用空间不大,如下图:

关键接口性能测试报告_第11张图片

场景四:图吧转坐标接口测试

分别设置300,500个虚拟用户,每个虚拟用户里面设置集合点,每1秒增加2个用户,所有的虚拟用户和人加载完毕后,持续向服务器发起请求。稳定运行30分钟。(本次测试接近真实用户行为,由于会影响到线上服务器,所以没有继续加大用户并发量) 结果图如下:

300并发用户,性能稳定,图略

500并发用户,事务平均响应时间为0.678,性能稳定,平均事务响应时间与TPS合并图如下

关键接口性能测试报告_第12张图片

此时服务器资源使用情况如下图:

关键接口性能测试报告_第13张图片

内存使用情况如下图:

关键接口性能测试报告_第14张图片

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等指标,从数据库的性能角度做针对性的测试,这样就会得到一个比较全面的测试结果。