首页 > 数据库技术 > 详细

jdbc

时间:2019-06-03 20:32:52      阅读:123      评论:0      收藏:0      [点我收藏+]

性能测试报告

1.JDBC连接测试

性能测试工具:JMeter

环境搭建:到 http://jmeter.apache.org/ 下载JMeter压缩包,无需安装解压即可,点击Jmeterbin目录下面的jmeter.bat文件即可打开Jmeter了。

1.1 JDBC连接测试用例

测试需求

测试过程说明

过程标引

查询

200线程数查询表格所有信息记录,

Select 200

300线程数查询表格所有信息记录

Select 300

400线程数查询表格所有信息记录

Select 400

1.2测试场景与用例

1.2.1场景描述

200个用户同时JDBC发出查询指令

在此情况下数据库管理系统服务器的平均值为122,中值为2,响应时间差异大。响应性能较不稳定。

 

Sample : 本次测试场景运行200线程;

Average : 平均响应时间 = 122 ms

Median : 统计意义上的响应时间中值 = 2 ms

90% line : 所有线程中90%的线程响应时间都小于515 ms ;

95% line : 所有线程中95%的线程响应时间都小于740 ms ;

99% line : 所有线程中99%的线程响应时间都小于926 ms ;

Min : 响应最小时间 = 1 ms

Max : 响应最大时间 =976 ms

Error : 出错率 = 0

Throughput :吞吐量,每秒42.8个请求。

 

1.2.2场景描述

300个用户同时JDBC发出查询指令

在此场景下,数据库管理系统服务器的平均值为147,中值为2,响应时间还是差异大,响应性能较不稳定。并且响应时间有所增加。

 

Sample : 本次测试场景运行300线程;

Average : 平均响应时间 = 147 ms

Median : 统计意义上的响应时间中值 = 2 ms

90% line : 所有线程中90%的线程响应时间都小于680 ms ;

95% line : 所有线程中95%的线程响应时间都小于872 ms ;

99% line : 所有线程中99%的线程响应时间都小于1167 ms ;

Min : 响应最小时间 = 0 ms

Max : 响应最大时间 =1243 ms

Error : 出错率 = 0

Throughput :吞吐量,每秒58.1个请求。

 

1.2.3场景描述

400个用户同时JDBC发出查询指令

在此场景下,数据库管理系统服务器的平均值为78,中值为34,响应时间差异有所减小,并且随着用户数的进一步增加,响应时间越来越长。

 

 

Sample : 本次测试场景运行400线程;

Average : 平均响应时间 = 78 ms

Median : 统计意义上的响应时间中值 = 34 ms

90% line : 所有线程中90%的线程响应时间都小于194 ms ;

95% line : 所有线程中95%的线程响应时间都小于426 ms ;

99% line : 所有线程中99%的线程响应时间都小于702 ms ;

Min : 响应最小时间 = 0 ms

Max : 响应最大时间 =832 ms

Error : 出错率 = 0

Throughput :吞吐量,每秒43.87个请求。

 

1.3测试结果汇总

从下表的数据可知,随着用户请求数量的增加,数据库服务器的每分钟处理请求数即吞吐量也在逐步增加,平均响应时间没有大幅增加。经过分析可得出以下结论:数据库服务器的系统性能随着用户数量的增加而没有太大改变,此数据库服务器的系统性能良好,测试的数值在其承受范围内。

 

 

 

 

 

 

1.4环境配置

1.4.1 JDBC Connection Configuration,

JDBC Connection Configuration的配置,如下图:

 

重要参数说明:

Variable Name:数据库连接池的名称,可以有多个jdbc connection configuration,每个可以起个不同的名称,在jdbc request中可以通过这个名称选择合适的连接池进行使用。

Database URL:数据库urljdbc:mysql://主机ip或机器名称:mysql监听的端口号/数据库名称

JDBC Driver classMysql JDBC驱动

username:数据库登陆的用户名

passwrod:数据库登陆的密码

1.4.2 JDBC request,操作语句:select * from food

 

重要的参数说明:

Variable Name:数据库连接池的名字,需要与JDBC Connection ConfigurationVariable Name Bound Pool名字保持一致

Query TypeSQL语句类型

Result variable name:创建一个对象变量,保存所有返回的结果

 

1.4.3 后期数据处理器BeanShell PostProcessor?编写shell脚本,log.info()将查询结果显示到log

 

1.4.4结果

1log查询结果

 

2)结果树

 

 

3)图形结果

 

样本数目:总共发送到服务器的请求数

最新样本:代表时间的数字,是服务器响应最后一个请求的时间。

吞吐量:服务器每分钟处理的请求数。

平均值:总运行时间除以发送到服务器的请求数。

中间值:时间的数字,有一半的服务器响应时间低于该值,而另一半高于该值。

偏离:服务器响应时间变化、离散程度测量值的大小,即数据的分布。

 

1.5总结

由于进行的是数据库性能测试,较难找到成熟的大型数据库系统,同时为了防止对大型数据库的测试可能会造成的潜在破坏,因此本测试是基于本地Mysql数据库里的数据进行的。通过编写SQL语句,查找数据库里表格的数据记录来进行性能测试。

团队成员首先经过查找案例,熟悉JDBC测试所需工具及基本流程设置。

但在过程中也碰到一定困难,在创建好JDBC Connection ConfigurationJDBC Request和相应的监听器并配置好特定参数后点击“启动”按钮运行,JMeter起初没有任何反应,无法获取测试结果。

在多次参考网络上示例和项目审查后,最终发现缺少了BeanShell PostProcessor对测试结果数据的处理器,此组件用于解析Json数据。并且还缺少用于处理测试结果的代码。完善过程处理机制后,终于能够成功进行JDBC数据库性能测试、产生相应的结果。将数据进行导出操作,在excel中分析、绘制三个用例之间的性能数据对比。

jdbc

原文:https://www.cnblogs.com/hanyeong2019/p/10968772.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!