同事 Struct Chen 的 Amoeba For MySQL 项目已经 出来不短时间了,可一直没有时间好好体验,最近一直在做一些软件和硬件的功能以及性能相关的测试工作,Amoeba For MySQL自然也将被列入计划之内。 对 Amoeba For MySQL 的测试到目前位置主要还是功能方面的测
同事 Struct Chen 的 Amoeba For MySQL 项目已经 出来不短时间了,可一直没有时间好好体验,最近一直在做一些软件和硬件的功能以及性能相关的测试工作,Amoeba For MySQL自然也将被列入计划之内。
对 Amoeba For MySQL 的测试到目前位置主要还是功能方面的测试,配置了一套四台机器的环境:
Server A: Amoeba Server
Server B: MySQL Master
Server C: MySQL Slave1
Server D: MySQL Slave2
软件环境:RHEL5.2 (X86_64),JAVA 1.5.0_16, Amoeba For MySQL 0.31
测试功能:
1、读写分离
2、数据垂直切分
3、数据水平切分
amoeba.xml配置如下:
?xml版本="1.0"编码="gbk"?>
!DOCTYPE变形虫:配置系统“amoeba.dtd”>
变形虫:配置xmlns:amoeba="http://amoeba.meidusa .com/">
服务器>
属性名称="港口">8066属性>
属性名称="ip 地址“>10.0.38.21属性>
属性名称="readThreadPoolSize">500属性>
属性名称="clientSideThreadPoolSize">500属性 >
属性名称="serverSideThreadPoolSize" >500房产>
属性 名称="netBufferSize">200 属性>
属性名称="tcpNoDelay">true属性 >
属性名称=" 用户">用户属性>
属性名称="密码">密码属性>
服务器>
< ;连接管理器列表>
连接管理器名称 ="defaultManager">
类名>com.meidusa.amoeba.net.AuthingableConnectionManager类名>
连接管理器>
connectionmanagerlist>
数据库服务器列表>
数据库服务器姓名="师父">
工厂配置>
类名>com.meidusa.amoeba.mysql.net.MysqlServerConnectionFactory类名>
物业姓名="经理“>defaultManager属性>
属性名称="端口“>3306属性>
属性名称="ip 地址“>10.0.38.37属性>
属性名称="架构“>测试属性>
属性名称="用户 ">根属性>
属性名称="密码">密码属性>
工厂配置>
poolconfig>
类名>com.meidusa .amoeba.net.poolable.PoolableObjectPool类名>
属性名称="maxActive">500房产>
属性名称="maxIdle"> 200房产>
属性名称="minIdle">10属性>
属性名称="minEvictableIdleTimeMillis">600000 房产>
房产名称="timeBetweenEvictionRunsMillis">600000房产>
房产名称="testOnBorrow">true属性>
属性名称="testWhileIdle" >true属性>
poolconfig>
数据库服务器 >
数据库服务器名称="slave1">
工厂配置>
类名>com.meidusa.amoeba .mysql.net.MysqlServerConnectionFactory类名>
物业姓名="经理"> defaultManager属性>
属性名称="端口">3306房产>
房产名称="ip 地址">10.0 .38.22财产>
财产名称="架构">测试属性>
propertyname="user">rootproperty>
propertyname="password">passwordproperty>
工厂配置>
poolconfig>
类名>com.meidusa .amoeba.net.poolable.PoolableObjectPool类名>
属性名称="maxActive">500房产>
属性名称="maxIdle"> 200房产>
属性名称="minIdle">10属性>
属性名称="minEvictableIdleTimeMillis">600000 房产>
房产名称="timeBetweenEvictionRunsMillis">600000房产>
房产名称="testOnBorrow">true属性>
propertyname="testWhileIdle">trueproperty>
poolconfig>
dbserver>
dbservername="slave2">
factoryconfig>
... ...
factoryconfig>
poolconfig>
... ...
poolconfig>
dbserver>
dbservername="virtualSlave"virtual="true">
poolconfig>
类名>com.meidusa.amoeba.server.MultipleServerPool 类名>
属性名称="负载平衡">1属性>
属性名称="poolNames" >slave1,slave2属性>
poolconfig>
数据库服务器>
数据库服务器列表>
查询路由器>
类名>com.meidusa.amoeba.mysql.parser.MysqlQueryRouter类名> ;
属性名称="ruleConfig">${amoeba.home}/conf/rule.xml房产>
房产名称="functionConfig">${amoeba.home}/conf/functionMap.xml房产>
房产名称="ruleFunctionConfig">${amoeba.home}/conf /ruleFunctionMap.xml属性>
属性名称="LRUMapSize" >1500房产>
属性名称="defaultPool">主人属性>
属性名称="writePool">主人属性>
属性名称="readPool" >virtualSlave属性>
属性名称="needParse">true属性>
< ;/queryrouter>
变形虫>;
rule.xml配置:
?xml版本="1.0"编码="gbk"?>
!DOCTYPE变形虫:规则系统“rule.dtd”>
变形虫:rulexmlns:amoeba="http://amoeba.meidusa .com/">
表规则名称="test_horiz"架构="测试"defaultPools="master" >
规则名称=" 规则1">
参数>ID参数>
表达式> ![CDATA[ ID 100000000]]>表达式>
defaultpools>master默认池>
读取池>slave1 读取池>
写入池>master写入池>
规则>
规则名称="规则2">
参数>ID参数>
表情> ![CDATA[ ID100000001和200000000 ]]>表情>
defaultpools>masterdefaultpools>
写入池>master2写入池>
读取池>slave2 读取池>
规则>
规则名称="规则 3">
参数>ID参数>
表达式> ![CDATA[ ID > 200000000 ]]>表达式>
defaultpools>masterdefaultpools>
规则>
tablerule>
tablerule名称="master"架构="测试 "defaultPools="master"/>
tablerule名称="slave1 "架构="测试"默认池="slave1"/>
表规则名称="slave2"架构="测试"defaultPools= "slave2"/>
表规则名称="master"架构= "t"defaultPools="master"/>
变形虫>
由于第一步主要还只是测试读写分离与数据的垂直切分,所以水平切分的规则设置的很简单,按照ID的范围设置简单的规则。而设置一些更为复杂的规则。
总体测试效果还是比较满意的,预期的功能都一切正常,当然所用于测试的SQL语句也大都比较简单,主要还是根据当前工作中遇到的一些SQL。
这次测试没有进行性能测试,等后面再找时间测试一下,不知道有没有哪位朋友已经进行了相应的性能测试了?性能测试之后就要开始规划应用到上面的某些应用去了
译文地址:Amoeba For MySQL 功能测试让人满意,感谢原作者分享。

Kernelsecuritycheckfailure(内核检查失败)就是一个比较常见的停止代码类型,可蓝屏错误出现不管是什么原因都让很多的有用户们十分的苦恼,下面就让本站来为用户们来仔细的介绍一下17种解决方法吧。kernel_security_check_failure蓝屏的17种解决方法方法1:移除全部外部设备当您使用的任何外部设备与您的Windows版本不兼容时,则可能会发生Kernelsecuritycheckfailure蓝屏错误。为此,您需要在尝试重新启动计算机之前拔下全部外部设备。

在mysql中,可以利用char()和REPLACE()函数来替换换行符;REPLACE()函数可以用新字符串替换列中的换行符,而换行符可使用“char(13)”来表示,语法为“replace(字段名,char(13),'新字符串') ”。

Win10skype可以卸载吗是很多用户们都想知道的一个问题,因为很多的用户们发现自己电脑上的默认程序上有这个应用,担心删除后会影响到系统的运行,下面就让本站来为用户们来仔细的介绍一下Win10如何卸载SkypeforBusiness吧。Win10如何卸载SkypeforBusiness1、在电脑桌面点击Windows图标,再点击设置图标进入。2、点击“应用”。3、在搜索框中输入“Skype”,点击选中找到的结果。4、点击“卸载”。5

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于MySQL复制技术的相关问题,包括了异步复制、半同步复制等等内容,下面一起来看一下,希望对大家有帮助。

转换方法:1、利用cast函数,语法“select * from 表名 order by cast(字段名 as SIGNED)”;2、利用“select * from 表名 order by CONVERT(字段名,SIGNED)”语句。

在mysql中,可利用“ALTER TABLE 表名 DROP INDEX unique key名”语句来删除unique key;ALTER TABLE语句用于对数据进行添加、删除或修改操作,DROP INDEX语句用于表示删除约束操作。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了mysql高级篇的一些问题,包括了索引是什么、索引底层实现等等问题,下面一起来看一下,希望对大家有帮助。

在mysql中,是否需要commit取决于存储引擎:1、若是不支持事务的存储引擎,如myisam,则不需要使用commit;2、若是支持事务的存储引擎,如innodb,则需要知道事务是否自动提交,因此需要使用commit。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

Dreamweaver CS6
视觉化网页开发工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

WebStorm Mac版
好用的JavaScript开发工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。