您好,欢迎访问三七文档
1kylinPET实现数据库性能测试图形化直观表示数据库执行SQL命令流程。并提供第二状态机“Unexpected”流程图实现事务回滚。JDBC数据库性能场景不支持IP欺骗,且JDBC驱动JAR包需要自己下载放到ext目录下的jdbc目录。1.1kylinPET性能测试工具下载链接可到kylinPET的官方网站:包、驱动类(DriverClass)、数据库URL都不相同;下面列举常见的数据库连接方式。2.1添加驱动JAR包下载JDBC驱动JAR包,不同数据库的JAR包不同,然后复制JAR包到执行代理器agent的ext目录下的jdbc目录。如oracle的JAR包为ojdbc5.jar,可能不同版本的JAR包不同。说明:1.工具执行时如果找不到驱动包,将导致连接失败,此时产生的错误日志“createconnectionfailed.makesuredriverclass'com.mysql.jdbc.Driver'isright,orputthe'.jar'into'ext/jdbc'directory.”2.2JDBC设置在Scripter界面点击“设置”按钮,弹出设置窗口设置JDBC(注:不同的数据库DriverClass与URL设置不同)。见列表:数据库JDBC设置OracleDriverClass:oracle.jdbc.driver.OracleDriverURL:jdbc:oracle:thin:@host:port:database,其中host为数据库的IP地址,port为数据库的端口(默认1521),database为连接的数据库。如jdbc:oracle:thin:@localhost:1521:orcl下载JAR地址::com.mysql.jdbc.DriverURL:jdbc:mysql://host:port/database下载JAR地址:(6.5,7,2000and2005)DriverClass:net.sourceforge.jtds.jdbc.DriverURL:jdbc:jtds:sqlserver://host:port/database下载JAR地址::com.microsoft.jdbc.sqlserver.SQLServerDriverURL:jdbc:microsoft:sqlserver://HOST:PORT[;DatabaseName=DB]下载JAR地址:(10,11,12)DriverClass:net.sourceforge.jtds.jdbc.DriverURL:jdbc:jtds:sybase://host:port/database下载JAR地址::com.sybase.jdbc2.jdbc.SybDriverURL:jdbc:sybase:Tds:host:port?ServiceName=database下载JAR地址::com.ibm.db2.jdbc.app.DB2DriverURL:jdbc:db2://host:port/database下载JAR地址::org.postgresql.DriverURL:jdbc:postgresql://host:port/database下载JAR地址:数据库性能测试简单流程通过该例子,介绍如何使用工具完成数据库业务测试,及介绍工具的界面使用方法。操作步骤:3.1Scripter创建业务脚本3.1.1新建业务脚本点击“文件”-“新建”或者“工具栏”的“新建”按钮。3.1.2JDBC连接设置点击“工具”-“设置”或者“工具栏”的“设置”按钮DriverClass:com.mysql.jdbc.Driver(测试场景以MySQL为例)数据库URL:jdbc:mysql://127.0.0.1:3306/mysql其中127.0.0.1为数据库的IP地址,3306为数据库的端口,mysql为连接的数据库。用户名:登陆数据库的用户名密码:登陆数据库用户的密码自动提交:true表示每条SQL命令立即提交;false表示用于数据库事务,等待执行commit才提交。3.1.3编辑业务脚本流程说明:1.执行SQL命令都通过Send图标节点实现,其他图标节点的意义见《kylinPET帮助指导》的“3.5.1图标库”1)操作查询:执行select语句,对应Statement的executeQuery函数修改:执行drop、insert、update等修改语句,对应Statement的executeUpdate函数事务提交:执行commit命令,提交事务。connection.commit();事务回滚:执行rollback命令,事务回滚。connection.rollback();自动提交(true):设置连接为自动提交,connection.setAutoCommit(true);自动提交(false):设置连接为手动提交(通过commit),connection.setAutoCommit(false);2)超时查询与修改命令执行的超时时间,超过该时间认为执行失败。单位为秒3)打印结果执行查询命令后,是否打印查询结果、或查询行数。说明:1.工具执行SQL命令后会等待获取结果集,并将返回的结果集里的记录行数作为响应数,统计到响应指标(response/s),即每秒获取的行数可以从监控指标response/s查看。2.如果需要打印行或结果集,则会再日志表格显示,建议调试时选择打印,而在执行时不打印结果或行数,因为打印需要占用CPU与Socket资源。4)开始行打印结果(选择Result)时,从结果集的第几行开始5)结束行打印结果(选择Result)时,到结果集的第几行结束3.1.4Scripter保存脚本点击“文件”-“保存”或者“工具栏”的按钮。如脚本保存为rtsp.spet3.1.5Scripter调试(回放)脚本点击“工具栏”的按钮运行脚本,通过日志调试脚本是否正确。1)按钮介绍为运行按钮,点击运行脚本进行调试为停止按钮,点击停止运行脚本为导出日志按钮,如果日志太多,需要查找或过滤(如过滤Error或Excepiton关键字找出错误日志),可导出到文件,然后通过UE或NotePad++等软件分享。2)红色代表错误或异常日志内容包含:“Error:”或“Exception:”关键字3)黑色为业务消息日志如发送日志或响应日志4)蓝色为分隔信息或统计信息runTime:表示整个脚本运行时间requests:请求(发送)消息个数responses:返回结果集的行数throughput:吞吐量Transaction:脚本中事务统计3.2复制JDBC驱动包到ext/jdbc目录,并启动Agent根据数据库类型下载对应的JDBC驱动JAR包(下载地址见“2.2JDBC设置”的表格),如MySQL需要下载mysql-connector-java-5.1.0-bin.jar;然后复制JAR包到执行代理器agent的ext目录下的jdbc目录。说明:1.工具执行时如果找不到驱动包,将导致连接失败,此时产生的错误日志“createconnectionfailed.makesuredriverclass'com.mysql.jdbc.Driver'isright,orputthe'.jar'into'ext/jdbc'directory.”3.3Controller创建测试场景JDBC数据库性能场景不支持IP欺骗。3.3.1创建执行代理器点击“工具”-“执行代理器”或者“工具栏”的按钮,添加执行代理器如果是远端执行代理器,需要添加新的代理器,IP与地址为远端执行代理器。3.3.2创建新的测试场景点击“工具栏”的“新建”按钮,创建一个新的测试场景。默认测试场景的任务名为task,绑定本地执行代理器local3.3.3创建任务默认新场景已经存在task任务,并绑定本地执行代理器,因此不需要手动创建。如果手动创建,如下操作:选择Controller的“设计”页面,左边的“任务管理”树,单击右键选择“新建任务”新建时没有配置,因此显示图标,表示配置有误3.3.4任务添加执行代理器默认新场景已经绑定本地执行代理器,因此不需要手动绑定。如果需要绑定远程执行代理器,操作如下:选择任务节点,单击右键,选择“他的代理器”将执行代理器“agent”添加(右移)到任务“fdsag”,即表示“agent”归属于任务“fdsag”3.3.5任务关联业务脚本3.3.6设置并发模型然后设置任务的并发模型,通过点击任务页面的“模型设置”按钮,在弹出的窗口设置模型;3.4连接执行代理器3.4.1启动执行代理器1)windows操作系统上直接双击agent.bat运行,或命令窗口输入agent.bat;2)如果是本地执行代理器,可通过右键菜单选择“启动代理器”进行启动3.4.2连接执行代理器确保执行的代理器处于连接状态,如果代理器处于断开状态,右键弹出菜单选择“连接”进行连接。3.5Controller调试测试场景在Controller的“控制”页面点击“调试配置”运行测试场景,则Controller会通知连接的每一个“执行代理器”执行一个用户,并将执行的过程日志返回给Controller。用户可通过日志判断配置是否正确,如果错误,可根据错误信息调整配置。上图是运行的结果,通过查看日志定位问题或查看脚本是否执行错误:上面界面查看执行select*froma;返回的结果。第一行为列名,下面为数据说明:1.工具执行SQL命令后会等待获取结果集,并将返回的结果集里的记录行数作为响应数,统计到响应指标(response/s),即每秒获取的行数可以从监控指标response/s查看。2.调试测试场景时,建议查询SQL命令设置打印结果,而在正式测试时选择不打印,因为打印需要占用CPU与Socket资源。3.6Controller执行测试场景与查看统计图表、日志调试配置保证配置正确后,点击“开始”运行测试场景。3.6.1虚拟用户统计表图的1部分为任务运行的统计信息,包括成功数、失败数、每秒并发个数。3.6.2监控项统计树图的2部分为业务脚本监控项统计信息,包括每秒请求数、事务统计等;双击树节点查看对应监控项的曲线图表。1)request/s表示执行query或update的SQL命令个数2)response/s表示执行query或update的SQL命令的结果集的记录数,即行数。3.6.3曲线图表图的3部分为显示监控项的运行情况,每秒一个数据值,构成曲线。每次只能显示一个监控项,可通过双击右边监控树节点来查看对应监控项的曲线图表。另外,可通过“切
本文标题:数据库性能测试指导
链接地址:https://www.777doc.com/doc-3261174 .html