Amoeba for MySQL学习研究之性能测试(2)
发布时间:2021-06-08
发布时间:2021-06-08
本文简要介绍了Amoeba for MySQL性能测试的目的、测试环境、测试步骤、测试结果及结论分析,并进行了简单总结!
PRIMARY KEY (`Shop_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
该数据表比较典型,包括常用的整数型、字符串、时间型、短整型等数据,其测试结果比较有代表性。
测试步骤
测试仅针对两种情况,单机代理模式和双机奇偶切分模式。
单机代理模式是Amoeba仅仅用作MySQL的代理服务器,将接收到的SQL语句转发到MySQL数据库服务器上进行执行。一般情况下,实际应用环境中是不需要使用这种模式的。
双机奇偶切分模式是Amoeba用于代理两台MySQL服务器,同时根据指定的奇偶切分规则将数据切分到两台数据库服务器上。本次使用城市ID进行奇偶切分,切分规则如下:
<tableRule name="tb_Shop" schema="AmoebaTest" defaultPools="server1,server2">
<rule name="rule1" group="CityRule" ruleResult="BOOLEAN"> <parameters>City_ID</parameters>
<expression><![CDATA[ City_ID % 2 = 0 ]]></expression> <defaultPools>server1</defaultPools> <readPools>server1</readPools> <writePools>server1</writePools> </rule>
<rule name="rule2" group="CityRule" ruleResult="BOOLEAN"> <parameters>City_ID</parameters>
<expression><![CDATA[ City_ID % 2 = 1 ]]></expression> <defaultPools>server2</defaultPools> <writePools>server2</writePools> <readPools>server2</readPools> </rule>
</tableRule>
本次测试使用Amoeba自带的benchmark进行测试,分别在连接数为50到500的区间范围内测试使用Amoeba和不使用Amoeba情况下的插入、更新、查询、删除操作的性能表现。
单机代理模式下benchmark的语句如下: 不使用Amoeba: ./benchmark -P 3306 -c 50/100/150/200/250/300/350/400/450/500 -f ../benchmark/InsertQuery.xml/UpdateQuery.xml/SelectQuery.xml/DeleteQuery.xml -h server1 -n 10000 -u root -p MySQLPassword 使用Amoeba: ./benchmark -P 8066 -c 50/100/150/200/250/300/350/400/450/500 -f ../benchmark/InsertQuery.xml/UpdateQuery.xml/SelectQuery.xml/DeleteQuery.xml -h server1 -n 10000 -u root -p AmoebaPassword
双机奇偶切分模式下benchmark的语句如下:
上一篇:地理分层教学课题实践
下一篇:学生综合素质评价体系