天天看点

Swingbench测试云上Oracle RAC性能

swingbench测试云上oracle rac性能

    谁说云上不能跑oracle rac?

1、测试环境

1.1、测试数据库环境配置

配置

数量

主机名

计算节点

cpu:2c

内存:8g

高效云盘:60g

2

db01/db02

存储节点

cpu:1c

3

cell01/cell02/cell03

ssd云盘

50g

1.2、在swingbench机器上开启集群协调器,以及把db01、db02加入到协调器中;

./coordinator –g &

./minibench -g db01 -cs

10.10.10.162:1521:orcl1 -co localhost &

./minibench -g db02 -cs

10.10.10.163:1521:orcl2 -co localhost &

Swingbench测试云上Oracle RAC性能

1.3、插入测试数据,共1.6g,每秒插入81330行;

Swingbench测试云上Oracle RAC性能
Swingbench测试云上Oracle RAC性能

2、测试rac性能

2.1、配置swingbench测试环境,主要以oltp为主,用户数400;达到了最高tps是400,平均tps是282;

Swingbench测试云上Oracle RAC性能

2.2、在测试过程中,使用袋鼠云easydb可看到数据库单节点的qps为1400左右,tps接近150左右;

Swingbench测试云上Oracle RAC性能

2.3、袋鼠云easydb输出的计算节点和存储节点的实时cpu负载信息,可以看出cpu的使用率已经达到80%左右,而此时的存储节点只有20%左右,说明此方案对存储节点的资源使用是比较低的;

Swingbench测试云上Oracle RAC性能

        2.4、袋鼠云easydb,主机实时性能监控输出,包含的内容有qps、tps、物理读写、解析和会话等信息;

主机db01:

Swingbench测试云上Oracle RAC性能

主机db02:

Swingbench测试云上Oracle RAC性能

        2.5、袋鼠云easydb监控数据库实时会话,其中包括sid、spid、等待事件、主机、sql_id、执行时间、以及详情里的sql语句和执行计划;

Swingbench测试云上Oracle RAC性能

2.6、下面是iostat的输出截图;

Swingbench测试云上Oracle RAC性能

2.7、网络实时监控iftop输出,从此处就可以了解到oracle rac之间网络流量是比较大的;

Swingbench测试云上Oracle RAC性能

结论:

1、以测试环境的ecs配置来看,单节点可达到1400的qps,282的tps;

2、磁盘io的读写其实是通过网络来实现的,在我的测试环境读是8mb/s,写是12mb/s;

3、网络方面峰值的tx和rx,可达到160mb,这个结果与磁盘io的读写是很接近的。

    从swingbench测试来看,用户如果想在阿里云上使用oracle rac,两节点满足3000的qps,以及300的tps以上的需求,考虑到测试数据与真实数据及应用的差距,推荐配置8c32g的计算节点,4c16g的存储节点。

在说到阿里云的网络,这里不得不吐槽一下阿里云了,为什么在购买ecs的时候,没有万兆网络可选?这是剥夺了用户选择的权利。