oracle 压力测试工具swingbech

Posted by wukaiqiang; tagged with none

操作思路

安装、测试、对比

环境检查

SQL> show parameter session;
SQL> show parameter processes;
alter system set processes = 3000 scope = spfile;
alter system set sessions=3800 scope=spfile;

SQL> show parameter sharing ---->有三种不同的状态
SQL> alter session set cursor_sharing=exact; 通常来说,exact值是Oracle推荐的,也是默认的,它要求SQL语句在完全相同时才会重用,否则会被重新执行硬解析操作。
SQL> alter session set cursor_sharing=similar;similar是在Oracle认为某条SQL语句的谓词条件可能会影响到它的执行计划时,才会被重新分析,否则将重用SQL。
SQL> alter session set cursor_sharing=force; force是在任何情况下,无条件重用SQL。
------------------------------创建AWR快照
EXEC DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();
drop tablespace soe including contents and datafiles;

测试前后分别取一次快照
安装swingbench测试软件,直接解压缩即可运行。
unzip -x swingbench25919.zip
 
注意要按照java8
yum -y install java-1.8.0-openjdk*
进入swingbench/bin目录执行oewizard导入1G测试数据,并修改数据库连接名和DBA密码
数据导完之后在该目录下运行swingbench执行测试,修改数据库连接名,用户连接数设置为300,测试时间设置为10分钟
修改Distributed Controls用于测试过程中搜集测试监控信息,修改完之后测试连接是否正常,并可以统计主机的cpu  disk IO 信息
参考信息
SwingBench下载:
http://www.dominicgiles.com/downloads.html
参考相关文章:
http://www.linuxidc.com/Linux/2016-04/130297.htm
http://blog.csdn.net/xiaofan23z/article/details/7978998
链接:https://pan.baidu.com/s/1o4CL0lENfmuEEFj-VwvDGQ
提取码:bwwh

压测流程
1、 应用模拟不同场景下的压力访问
10、50、100、200、500、1000
2、 数据库端启动osw 进程,每10s一次,报告cpu、io、内存结果进行压缩保存本地
3、 awr快照每15分钟保存一次
4、 使用sql查询获取会话超过200的时间点
5、 使用awr获取压测时间点的报告信息,并分析性能问题
6、 根据awr的top sql 分析sql tuning monitor报告,反馈给开发,或联系开发共同商讨。
7、 使用ash报告 addm报告对sql进行优化。