数据库性能测试指导_第1页
数据库性能测试指导_第2页
数据库性能测试指导_第3页
数据库性能测试指导_第4页
数据库性能测试指导_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 kylinPET实现数据库性能测试图形化直观表示数据库执行SQL命令流程。并提供第二状态机“Unexpected”流程图实现事务回滚。JDBC数据库性能场景不支持IP欺骗,且JDBC驱动JAR包需要自己下载放到ext目录下的jdbc目录。1.1 kylinPET性能测试工具下载链接可到kylinPET的官方网站:下载2 JDBC连接各种数据库方式JDBC连接不同数据库的驱动JAR包、驱动类(Driver Class)、数据库URL都不相同;下面列举常见的数据库连接方式。2.1 添加驱动JAR包下载JDBC驱动JAR包,不同数据库的JAR包不同,然后复制JAR

2、包到执行代理器agent的ext目录下的jdbc目录。如oracle的JAR包为ojdbc5.jar,可能不同版本的JAR包不同。说明:1. 工具执行时如果找不到驱动包,将导致连接失败,此时产生的错误日志“create connection failed.make sure driver class com.mysql.jdbc.Driver is right,or put the .jar into ext/jdbc directory.”2.2 JDBC设置在Scripter界面点击“设置”按钮,弹出设置窗口设置JDBC(注:不同的数据库Driver Class与URL设置不同)。见列表:

3、数据库JDBC设置OracleDriver Class:oracle.jdbc.driver.OracleDriverURL:jdbc:oracle:thin: host:port: database,其中host为数据库的IP地址,port为数据库的端口(默认1521),database为连接的数据库。如jdbc:oracle:thin:localhost:1521:orcl下载JAR地址:/technetwork/indexes/downloads/index.htmlMySQLDriver Class:com.mysql.jdbc.DriverUR

4、L:jdbc:mysql:/host:port/database下载JAR地址:/downloads/connector/j/5.1.htmlMicrosoft SQL Server (6.5, 7, 2000 and 2005) Driver Class:net.sourceforge.jtds.jdbc.DriverURL:jdbc:jtds:sqlserver:/host:port/database下载JAR地址:/projects/jtds/files/Microsoft SQL Server 2000Dr

5、iver Class:com.microsoft.jdbc.sqlserver.SQLServerDriverURL:jdbc:microsoft:sqlserver:/:;DatabaseName=下载JAR地址:/projects/jtds/files/Sybase (10, 11, 12)Driver Class:net.sourceforge.jtds.jdbc.DriverURL:jdbc:jtds:sybase:/host:port/database下载JAR地址:/projects/jtds/fi

6、les/SybaseDriver Class:com.sybase.jdbc2.jdbc.SybDriverURL:jdbc:sybase:Tds:host:port?ServiceName=database下载JAR地址:/detail/yvfish/DB2Driver Class:com.ibm.db2.jdbc.app.DB2DriverURL:jdbc:db2:/ host:port/database下载JAR地址:/detail/karlpan01/PostgresqlDriver Class

7、:org.postgresql.DriverURL:jdbc:postgresql:/ host:port/database下载JAR地址:/download.html3 数据库性能测试简单流程通过该例子,介绍如何使用工具完成数据库业务测试,及介绍工具的界面使用方法。操作步骤:3.1 Scripter创建业务脚本3.1.1 新建业务脚本点击“文件” - “新建”或者“工具栏”的“新建” 按钮。3.1.2 JDBC连接设置点击“工具” - “设置”或者“工具栏”的“设置” 按钮 Driver Class:com.mysql.jdbc.Driver

8、(测试场景以MySQL为例) 数据库URL:jdbc:mysql:/:3306/mysql其中为数据库的IP地址,3306为数据库的端口,mysql为连接的数据库。 用户名:登陆数据库的用户名 密码:登陆数据库用户的密码 自动提交:true表示每条SQL命令立即提交;false表示用于数据库事务,等待执行commit才提交。3.1.3 编辑业务脚本流程说明:1. 执行SQL命令都通过Send图标节点实现,其他图标节点的意义见kylinPET 帮助指导的“3.5.1 图标库”1) 操作 查询:执行select语句,对应Statement的executeQuer

9、y函数 修改:执行drop、insert、update等修改语句,对应Statement的executeUpdate函数 事务提交:执行commit命令,提交事务。mit(); 事务回滚:执行rollback命令,事务回滚。connection.rollback (); 自动提交(true):设置连接为自动提交,connection.setAutoCommit(true); 自动提交(false):设置连接为手动提交(通过commit),connection.setAutoCommit(false);2) 超时查询与修改命令执行的超时时间,超过该时间认为执行失败。单

10、位为秒3) 打印结果执行查询命令后,是否打印查询结果、或查询行数。说明:1. 工具执行SQL命令后会等待获取结果集,并将返回的结果集里的记录行数作为响应数,统计到响应指标(response/s),即每秒获取的行数可以从监控指标response/s查看。2. 如果需要打印行或结果集,则会再日志表格显示,建议调试时选择打印,而在执行时不打印结果或行数,因为打印需要占用CPU与Socket资源。4) 开始行打印结果(选择Result)时,从结果集的第几行开始5) 结束行打印结果(选择Result)时,到结果集的第几行结束3.1.4 Scripter保存脚本点击“文件” - “保存”或者“工具栏”的按

11、钮。如脚本保存为rtsp.spet3.1.5 Scripter调试(回放)脚本点击 “工具栏”的按钮运行脚本,通过日志调试脚本是否正确。1) 按钮介绍 为运行按钮,点击运行脚本进行调试 为停止按钮,点击停止运行脚本 为导出日志按钮,如果日志太多,需要查找或过滤(如过滤Error或Excepiton关键字找出错误日志),可导出到文件,然后通过UE或NotePad+等软件分享。2) 红色代表错误或异常日志内容包含:“Error:”或“Exception:”关键字3) 黑色为业务消息日志如发送日志或响应日志4) 蓝色为分隔信息或统计信息 runTime:表示整个脚本运行时间 requests:请求(

12、发送)消息个数 responses:返回结果集的行数 throughput:吞吐量 Transaction:脚本中事务统计3.2 复制JDBC驱动包到ext/jdbc目录,并启动Agent根据数据库类型下载对应的JDBC驱动JAR包(下载地址见“2.2 JDBC设置”的表格),如MySQL需要下载mysql-connector-java-5.1.0-bin.jar;然后复制JAR包到执行代理器agent的ext目录下的jdbc目录。说明:1. 工具执行时如果找不到驱动包,将导致连接失败,此时产生的错误日志“create connection failed.make sure driver cl

13、ass com.mysql.jdbc.Driver is right,or put the .jar into ext/jdbc directory.”3.3 Controller创建测试场景JDBC数据库性能场景不支持IP欺骗。3.3.1 创建执行代理器点击“工具” - “执行代理器”或者“工具栏”的按钮,添加执行代理器如果是远端执行代理器,需要添加新的代理器,IP与地址为远端执行代理器。3.3.2 创建新的测试场景点击“工具栏”的“新建”按钮,创建一个新的测试场景。默认测试场景的任务名为task,绑定本地执行代理器local3.3.3 创建任务默认新场景已经存在task任务,并绑定本地执行

14、代理器,因此不需要手动创建。如果手动创建,如下操作:选择Controller的“设计”页面,左边的“任务管理”树,单击右键选择“新建任务”新建时没有配置,因此显示图标,表示配置有误3.3.4 任务添加执行代理器默认新场景已经绑定本地执行代理器,因此不需要手动绑定。如果需要绑定远程执行代理器,操作如下:选择任务节点,单击右键,选择“他的代理器” 将执行代理器“agent”添加(右移)到任务“fdsag”,即表示“ agent”归属于任务“ fdsag”3.3.5 任务关联业务脚本3.3.6 设置并发模型然后设置任务的并发模型,通过点击任务页面的“模型设置”按钮,在弹出的窗口设置模型;3.4 连接

15、执行代理器3.4.1 启动执行代理器1) windows操作系统上直接双击agent.bat运行,或命令窗口输入agent.bat;2) 如果是本地执行代理器,可通过右键菜单选择“启动代理器”进行启动3.4.2 连接执行代理器确保执行的代理器处于连接状态,如果代理器处于断开状态,右键弹出菜单选择“连接”进行连接。3.5 Controller调试测试场景在 Controller的“控制”页面点击“调试配置”运行测试场景,则Controller会通知连接的每一个“执行代理器”执行一个用户,并将执行的过程日志返回给Controller。用户可通过日志判断配置是否正确,如果错误,可根据错误信息调整配置

16、。上图是运行的结果,通过查看日志定位问题或查看脚本是否执行错误:上面界面查看执行select * from a;返回的结果。第一行为列名,下面为数据说明:1. 工具执行SQL命令后会等待获取结果集,并将返回的结果集里的记录行数作为响应数,统计到响应指标(response/s),即每秒获取的行数可以从监控指标response/s查看。2. 调试测试场景时,建议查询SQL命令设置打印结果,而在正式测试时选择不打印,因为打印需要占用CPU与Socket资源。3.6 Controller执行测试场景与查看统计图表、日志调试配置保证配置正确后,点击“开始”运行测试场景。3.6.1 虚拟用户统计表图的1部

17、分为任务运行的统计信息,包括成功数、失败数、每秒并发个数。3.6.2 监控项统计树图的2部分为业务脚本监控项统计信息,包括每秒请求数、事务统计等;双击树节点查看对应监控项的曲线图表。1) request/s表示执行query或update的SQL命令个数2) response/s表示执行query或update的SQL命令的结果集的记录数,即行数。3.6.3 曲线图表图的3部分为显示监控项的运行情况,每秒一个数据值,构成曲线。每次只能显示一个监控项,可通过双击右边监控树节点来查看对应监控项的曲线图表。另外,可通过“切换”按钮,切换到平均曲线图表,每1分钟(或5分钟、10分钟)一个数据值,该值为

18、当前1分钟(或5分钟、10分钟)的数据的平均值。3.6.4 监控项实时统计表图的4部分为监控项的统计信息,包括最大值、最小值、平均值、当前时刻统计值。每次只能显示一个监控项,可通过双击右边监控树节点来切监控项。3.6.5 日志运行如果有错误,日志将显示流程图运行整个过程,因此,通过日志可判断失败原因。3.7 Analysis分析运行结果运行结束后,点击“工具” - “Analysis”或者“工具栏”的按钮,打开Analysis界面分析测试结果。界面与Controller基本类型,但提供更强大的分析功能。包括放大、缩小(还原)、过滤、对比、合并,产生HTML报告等功能。3.7.1 报告汇总进入第

19、一个界面将显示“报告”页面,内容显示运行统计信息、整个脚本事务统计信息、自定义事务统计信息,响应码个数统计。3.7.2 查看图表曲线双击监控树节点查看对应监控项的统计曲线与下面的统计表格。最下面状态栏为当前图表曲线的信息,包括:开始时间、结束时间、时间范围、曲线点个数、曲线Y轴最小值、曲线Y轴最大值、运行时间、错误日志数。双击统计表格对应的行将显示曲线的详细信息。3.7.3 图表操作1) 放大曲线当运行时间比较大时,如1个小时(3600秒,对应3600个统计点),工具自动控制显示曲线的点数(曲线点少于200个),而不是每个统计值显示一个点(如果每秒一个点则曲线显示3600个点,将挨挤,不美观)

20、,工具自动将多个点汇总为一个点(可以是平均值、最大值、最小值、或由某个点代表这些点)。假设,10秒显示一个点,则在图表曲线无法查看到1-9秒的数据点,为了查看某段更小时间范围的数据,可通过在图表拖动鼠标来选中对应的时间范围,鼠标拖动方向为右上或右下。如上图选择了8秒到19秒的范围后,图表曲线只显示时间为8到19的范围,如下:2) 还原曲线拖拉鼠标放大时间范围查看图表后,如果需要还原最初的图表曲线(即双击监控指标节点显示的曲线),可在图表拖动鼠标实现,鼠标拖动方向为左上或左下,即方向向左。3) 曲线过滤通过过滤实现只显示特定数据点曲线。如可以只显示超过阈值的数据点,然后查看曲线的点数(相当于统计

21、超过阈值的数据点个数),在哪个时间点频率高。如对“request/s”监控项过滤统计值大于25点:A. 图表曲线上“右键” - “过滤”B. 过滤窗口输入过滤值C. 过滤曲线只显示满足过滤条件的点。3.7.4 合并图表曲线默认每个监控项独自在图表显示曲线,如果需要对两个监控项进行对比,则可以通过合并功能实现。如“request/s”与“CPU”合并对比分析。1) 选中监控树节点,然后“右键” - “合并图表”2) 设置第二个图表为running曲线3) 生成合并监控树节点4) 双击显示合并图5) “右键” - “比较图表”可通过左边的刻度条移动曲线进行对比分析。3.7.5 日志分析日志记录了错

22、误日志、告警日志,常用于分析定位问题。有时只通过监控指标曲线只能查看失败数量、资源值(如CPU、内存),而无法判断问题原因,但通过与日志关联(过滤特定的日志,如某段时间的日志),可有效分析定为问题。如:发现某时刻CPU占用高,而通过过滤该时刻的日志,发现有很多错误日志,日志内容为500响应,且内存带了服务器的失败原因。1) 日志界面显示总日志数,而状态栏显示错误日志个数2) 查看所有日志默认每一页只显示100条日志,可通过翻页或跳转查看其它页的日志内容。点击“所有日志”按钮3.7.6 过滤日志点击“过滤”按钮支持时间范围过滤、Controller或某个Agent过滤、日志级别、虚拟用户、日志内

23、容;可以为它们的组合过滤。3.7.7 导出日志可以将表格的日志导出到excel3.8 Analysis产生报告3.8.1 报告设置点击“报告” - “设置”或者“工具栏”的按钮弹出设置窗口。报告设置生效后,图表界面曲线会对应改变为设置方式。注意:1、 如果多个task,默认只勾选Total Task,时间为曲线整个时间,点类型为平均,自动N秒一个点。勾选多个任务可在报告产生每个任务对应的统计节点。曲线时间范围(可以只显示某段时间的曲线)、多少秒一个点(某认由工具自动根据合适的点数,让曲线不紧凑)、点类型(曲线一个点表示一段时间时是它们的平均、或最大、最小)、表格定义任务与Agent是否都产生统

24、计曲线(如果有多个任务或多个Agent,都会显示在表格)。只显示5秒到16秒的范围。3.8.2 生成HTML报告点击“报告” - “HTML报告”或者“工具栏”的按钮。产生的报告将保存到测试结果目录下,目录名为report。如:E:kylinPETworkspaceResultDatartsp_2012_04_22_17_20_27report3.9 查看report.html报告双击“report.html”文件打开报告3.9.1 报告汇总3.9.2 查看统计图表3.9.3 查看曲线详细信息通过点击“Clear”对应的行;如果隐藏则点击“Clear”4 事务场景4.1 Scripter脚本4.1.1 JDBC连接设置参照“3.1.2 JDBC连接设置”,这里设置“自动提交”为false,即通过执行commit才提交。4.1.2 流程图编辑1)正常流程执行多条SQL命令,最后使用commit节点提交。2)事务失败回滚 通过Unexpected流程实现失败回滚处理。4.2 Controller与Analysis操作参照“3 数据库性能测试简单流程”的Controller与Analysis操作5 可变参数的循环场景5.1 Scripter脚本5.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论