真实性能测试案例之性能分析与报告 - 51ste软件测试部落-中国软件测试者的乐园
登录|注册

真实性能测试案例之性能分析与报告

作者:ruink  发布时间:2016-06-06 07:39:30  关键字:性能测试分析 性能测试报告 

怎么做性能测试已经在专题文章《系统性能测试及调优》给大家分享过了。今天主要跟大家分享一个曾经所做的真实性能测试的案例,主要为其中性能测试分析报告过程部分,希望能对你以后怎么做性能分析和报告有所帮助。这个案例的测试目的为:在线考试为“XX平台”中的一个重要模块,根据目前业务的需要,需要测试在线考试能否支持100的并发量。

一、场景描述

采取逐步增加用户数(每10分钟增加用户数20人)对在线考试进行并发操作,达到100人为止;当并发数达到100后则继续运行一段时间(30分钟)。

二、测试环境配置

1、测试服务器配置

测试配置
经前面多轮配置测试及计数器观察分析(考试只为系统性能测试的一个块,前面还有做其它模块的性能测试。当然如果单独测考试系统,也应根据测试结果数据去进行参数调优。具体哪些是性能因子,可以参看部落中
MySQLMy.ini配置说明Tomcat 性能的测试》),最后确认程序、tomcatJVMMySQL最佳参数配置如下:2、服务器软件配置

程序参数设置

jdbc.minPoolSize=50

jdbc.maxPoolSize=1500

jdbc.initialPoolSize=50

jdbc.maxIdleTime=60

tomcat server.xml参数配配置

<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"

maxThreads="1000" minSpareThreads="25" maxSpareThreads="75"  maxIdleTime="60000" />

<Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" acceptCount="500" connectionTimeout="20000"  keepAliveTimeout="15000"

maxKeepAliveRequests="1" redirectPort="443"  />

JVM参数配置:

-XX:PermSize=64M

-XX:MaxPermSize=128m

-Xms512m

-Xmx1024m

MYSQL参数配置:

max_connections=1500

thread_cache_size=128

back_log=200

三、测试结果分析

1、当并发数为60后,发生500服务器错误,通过计数器监控检查为数据库连接数达到最大值1499

1)并发数与服务器出现错误的关系视图

并发出错
2)数据库线程连接数与出现错误的关系视图

数据库连接数
通过上面两图表分析:
在并发数逐步加大过程中发生瓶颈,瓶颈原因为数据库线程连接数达到饱和值1499

2、调整MYSQL的max_connections=11500后进行测试

调整参数后仍发现mysql的线程数达到1499后就不能继续上升了。确认原因:windows32位系统,一个进程中可用的内存空间只有2G,而默认情况下一个线程的栈要预留1M的内存空间,所以理论上一个进程中最多可以开2048个线程,但是内存不可能完全拿来作线程的栈,所以实际数目要比这个值要小。所以1499则为该测试环境的线程数峰值。

3、根据前面压力结果,调整并发数为40进行测试

发现当提交试卷数达到1300左右时,数据线程仍然达到1499,最后再次提交试卷发生服务器500错误。都是在发现错误后停止测试(并发40时是一发现500错误现象则停止运行,所以失败数为1),考试流程各事务通过量统计情况如表:

测试结果
根据上表分析:当短时间内(如30分钟),学生考试提交的试卷次数超过1300左右,当其它学生提交试卷时或进行其它与数据库相关操作时,会出现服务器500错误。

本文由51ste.com网友编辑,未经授权,不得转载使用上述作品盈利;个人转载,需标明原文作者及出处。

说说看法查看全部评论(0)

微信二维码

部落微信公众号

QQ二维码

部落QQ群二维码