Swingbench测试云上Oracle RAC性能
阿里云上Oracle RAC环境性能到底表现如何,通过环境配置,RAC架构调整,以及Oracle RAC数据库的优化等多重调整后,看RAC在高配ECS上的表现。由于配置的提升,压测策略有所调整,由RAC分发压力改为业务分割,每个节点跑独立的业务,减少争用,充分利用资源提升带来的好处,方便达到性能最优配置。
1、测试环境
ÃÂ 测试数据库环境配置
|
配置 |
数量 |
主机名 |
计算节点 |
CPU:16C 内存:64G 高效云盘:60G |
2 |
db01/db02 |
存储节点 |
CPU:4C 内存:16G 高效云盘:40G |
3 |
cell01/cell02/cell03 |
SSD云盘 |
50G |
3 |
|
ÃÂ 插入测试数据soe1和soe2,共6G,每秒插入111004行;
2、测试RAC性能
ÃÂ 配置swingbench测试环境,主要以OLTP为主,用户数每个节点2000;db01达到了最高TPS是6200,平均TPS是4500;db02达到了最高TPS是5200,平均TPS是3400。
ÃÂ 在测试过程中,袋鼠云EasyDB可看到数据库单节点的QPS达到7000左右,TPS在1000左右。
ÃÂ 袋鼠云Easydb输出的计算节点和存储节点的实时CPU负载信息,可以看出CPU的使用率已经达到66%左右,而此时的存储节点只有6.5%左右,说明此方案对存储节点的资源使用是比较低的;从曲线图也看出在测试阶段的CPU使用率的走势;
Ø 袋鼠云EasyDB监控主机实时性能输出,包含的内容有QPS、TPS、物理读写、解析和会话等信息;
ÃÂ 袋鼠云EasyDB监控数据库实时会话,其中包括SID、SPID、等待事件、主机、SQL_ID、执行时间、以及详情里的SQL语句和执行计划;
ÃÂ 下面是iostat的输出截图;
ÃÂ 网络实时监控iftop输出,从此处就可以了解到Oracle RAC之间网络流量是比较大的,峰值时大约在170Mb,与EasyDB的网卡出入流量一样;
结论:
1、以测试环境的ECS配置来看,单节点可达到4000的QPS,1500的TPS;
2、磁盘IO的读写其实是通过网络来实现的,单个存储写速率6MB/S,3个存储节点流量均衡。
从swingbench测试来看,用户如果想在阿里云上更佳更大吞吐率的使用Oracle RAC,推荐配置16C64G的计算节点,4C16G的存储节点,两节点满足8000的QPS,以及4000的TPS以上的需求。