针对mysql的水平切分,项目开发的数据访问层(DAL)实现了应用对数据访问的路由和对数据库操作的支持,下面是从测试报告中摘取的部分测试情况,仅供参考。
测试环境:
web(1台):
2c Intel(R) Xeon(R) CPU E5606 @ 2.13GHz
8G
280G硬盘
mysql proxy(2台):
1台 master
1台 slave
4C Intel(R) Xeon(R) CPU X5650 @ 2.67GHz
16G
数据库:
两台master 负责写 4C Intel(R) Xeon(R) CPU X5650 @ 2.67GHz 32G
两台slave 负责读 4C Intel(R) Xeon(R) CPU X5650 @ 2.67GHz 32G
测试用例:
1.单表增删查改
数据量:用户表部署在2个节点,共切分为10张用户表,每张表数据10W左右
2.连接查询:三张表的关联查询,每张表100W数据
3.集合查询(跨节点汇总) 用户表同1
测试结果数据:
单表:
单用户持续5分钟
单条更新测试 (保留一个索引)([Average]: 0.243 [90 Percent]:0.287 [Maximum]: 1.074)
单条插入测试 ([Average]: 0.226 [90 Percent]:0.319 [Maximum]: 0.889)
单条删除测试 ([Average]: 0.193 [90 Percent]:0.27 [Maximum]: 0.778)
500并发更新测试(保留一个索引)([Average]: 0.189 [90 Percent]:0.282)
500并发查询测试([Average]: 0.122 [90 Percent]:0.338)
500并发删除测试([Average]: 0.129 [90 Percent]:0.334)
500并发插入测试([Average]: 0.156 [90 Percent]:0.368)
连接查询:
待补充
测试结论:
该DAL对mysql的水平扩展的支持是功能基本稳定,同时具备了较好的并发访问的支持能力。