swingbench 做oracle压力测试

   swingbench是Oracle UK的一个员工在一个被抛弃的项目的基础上开发的,基于Java。该工具是免费的,可以在作者的网站上自由下载,并且拥有详细的使用文档。(以前尝试过hammerora,但由于是基于tcl且文档较少没有采用) swingbench的功能非常强大,甚至可以对rac做压力测试。

首先在网站上下载工具并解压缩。工具是跨平台的,如果在windows环境下进入winbin/目录中(此处只以windows环境为例)。swingbench 预置了两个测试方案,分别为calling cirl 与 order entry。每个方案均提供了一个wizard向导辅助生成、删除测试需要的数据等资源(此处以calling cirl为例)。
测试方案准备:
  1.使用ccwizard创建测试方案。点击ccwizard.bat 或者直接命令行运行。
oracle swingbench
文字已经解释的非常清楚了,此处需要使用dba权限用户创建表空间,用户以及表等。
点击next。
oracle swingbench
此处一共有三个选项,分别为创建,删除,生成运行时需要的数据。
选择创建后next:
在此处输入要测试的数据库连接信息然后next
oracle swingbench
设置测试时使用的用户名、密码、表空间、数据文件。数据文件的路径需要自己在做修改。
完成后直接next:
oracle swingbench
此处需要选择数据的大小。根据需求选择,根据数据库服务器的能力来选。在测试254数据库的时候选择了1GB。选择完成后next。
oracle swingbench
至此,创建的设置已经完成了。点击finsh耐心等待吧。等待时间长短跟设置的数据大小与数据库服务器的性能相关。注:此过程可能会比较漫长。
创建完成可以点击cancel或者直接关掉窗口
2.使用ccwizard生成测试数据。同样点击ccwizard.bat
oracle swingbench
同样点击Next
oracle swingbench
选择生成运行时数据后next
oracle swingbench
在此处修改刚刚创建方案中的数据,用户名,密码什么的确认信息后点击next
oracle swingbench
此处需要设置基准的细节,可以修改的是事务数量跟数据文件的目录
事务数量不宜过大,1k-1w之间最好,这个应该视测试机器的性能而定。事务数量的概念应该是在真正测试时每一个vuser(虚拟用户)执行预置脚本的次数。(这个是我猜的哈~),设置完成后next
oracle swingbench
至此运行时的测试数据设置就完成了,点击finish会自动将数据生成在/data目录下。
oracle swingbench
这个过程比较快,生成完成后依次关闭窗口就是了。
3,运行测试
运行测试的程序是swingbench.bat
可以在命令行中使用 swingbench.bat -h 输出该命令的帮助信息:
oracle swingbench
在此,只介绍使用刚刚生成的数据进行测试
使用:
即可运行
需要自己设置的地方为数据库连接字符串,虚拟用户数量。
选择distributed controls标签页可以设置远程主机的资源监视,cpu,IO等。不过貌似只支持linux(远程主机为linux系统)
选择transactions可以设置插入、更新、查询等的比例
设置完成后点击按钮即可开始测试
在测试过程中默认会先是overview视图(在测试时,数据库服务器为windows,所以资源无图像):
点击图表类型可以进行切换,主要测试指标为没分钟完成的事务数/以及每分钟可以执行的dml操作数、以及响应时间。
当每个vuser的事务数量都迭代完成后程序会自动停止
此时可以保存结果。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.