一.amoeba介绍
网址:http://docs.hexnova.com/amoeba/

二.安装java se1.5

三.安装amoeba2.2.0
1.下载地址:http://sourceforge.net/projects/amoeba/files/,下载amoeba-mysql-binary-2.2.0.tar.gz
2.解压后直接放入/usr/local/amoeba(该路径随意)

四.配置amoeba
*注意以下配置中,请记得将xml的注释去掉,密码项默认是注释的
1.amoeba配置
#vi /usr/local/amoeba/conf/amoeba.xml

配置端口,服务ip地址,登录用户名和密码
<property name="port">8066</property>
<property name="ipAddress">192.168.1.84</property>
<property name="user">testuser</property>
<property name="password">password</property>

2.测试
#mysql -u testuser -p -h 192.168.1.84 -P 8066

3.配置dbServers.xml
#vi /usr/local/amoeba/conf/dbServers.xml
配置数据库,账号和密码(该账号和密码是mysql的)
<property name="schema">dba_db</property>
<property name="user">test</property>
<property name="password">123456</property>

4.修改dbServers.xml,配置mysql服务器的ip地址和别名:
<dbServer name="master"  parent="abstractServer">
                <factoryConfig>
                        <!-- mysql ip -->
                        <property name="ipAddress">192.168.1.126</property>
                </factoryConfig>
</dbServer>

<dbServer name="slave"  parent="abstractServer">
                <factoryConfig>
                        <!-- mysql ip -->
                        <property name="ipAddress">127.0.0.1</property>
                        <property name="user">mytest</property>
                        <property name="password">pwd</property>
                </factoryConfig>
</dbServer>

因为slave的账号和密码不同,所以在slave节点下再次设置账号密码

5.修改dbServers.xml,设置ROUNDROBIN(轮询策略)
<dbServer name="virtualSlave" virtual="true">
                <poolConfig class="com.meidusa.amoeba.server.MultipleServerPool">
                        <!-- Load balancing strategy: 1=ROUNDROBIN , 2=WEIGHTBASED , 3=HA-->
                        <property name="loadbalance">1</property>

<!-- Separated by commas,such as: server1,server2,server1 -->
                        <property name="poolNames">slave,slave,master,master</property>
                </poolConfig>
</dbServer>

6.修改amoeba.xml,设置读写分离
在<queryRouter class="com.meidusa.amoeba.mysql.parser.MysqlQueryRouter">段设置
<property name="defaultPool">master</property>
<property name="writePool">master</property>
<property name="readPool">virtualSlave</property>
<property name="needParse">true</property>

7.重启amoeba
#/usr/local/amoeba/bin/amoeba start

8.测试
#mysql -u testuser -p -h 192.168.1.84 -P 8066

五.优化
1.修改log4j.xml 取消日志文件生成(太大了,磁盘很容易满),<param name="file" value="amoeba.home/logs/project.log"/>改成:<paramname="file"value="<![CDATA[{amoeba.home}/logs/project.log>/dev/null]]>"/>
2.性能优化,打开bin/amoeba,DEFAULT_OPTS="-server -Xms256m -Xmx256m -Xss128k"改成:DEFAULT_OPTS="-server -Xms512m -Xmx512m -Xmn100m -Xss1204k"
3.loadbalance元素设置了loadbalance策略的选项,这里选择第一个“ROUNDROBIN”轮询策略,该配置提供负载均衡、failOver、故障恢复功能。poolNames定义了其中的数据库节点配置(当然也可以是虚拟的节点)。此外对于轮询策略,poolNames还定义了其轮询规则,比如设置成“Slave1,Slave1,Slave2”那么Amoeba将会以两次Slave1,一次Slave2的顺序循环对这些数据库节点转发请求。

六.性能测试
#/usr/local/amoeba/bin/benchmark -P 8066 -c 1000 -f ../benchmark/query.xml -h 192.168.1.84 -n 100000 -u testuser -p password

query.xml如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties version="1.0">
        <entry key="class">com.meidusa.amoeba.mysql.net.packet.QueryCommandPacket</entry>
        <entry key="command">3</entry>
        <entry key="query"><![CDATA[
SELECT * FROM dba_db.test WHERE id=191
        ]]>
        </entry>
</properties>

参考文章:http://www.cnblogs.com/lhj588/archive/2012/11/19/2777897.html

centos安装配置amoeba以及测试的更多相关文章

  1. 阿里云服务器Linux CentOS安装配置(八)nginx安装、配置、域名绑定

    阿里云服务器Linux CentOS安装配置(八)nginx安装.配置.域名绑定 1.安装nginx yum -y install nginx 2.启动nginx service nginx star ...

  2. 阿里云服务器Linux CentOS安装配置(七)域名解析

    阿里云服务器Linux CentOS安装配置(七)域名解析 1.购买域名 登录阿里云,左侧菜单点击[域名],然后[域名注册],完成域名购买.(一般首年45元) 2.添加域名解析 在域名列表里点击你的域 ...

  3. 阿里云服务器Linux CentOS安装配置(六)resin多端口配置、安装、部署

    阿里云服务器Linux CentOS安装配置(六)resin多端口配置.安装.部署 1.下载resin包 http://125.39.66.162/files/2183000003E08525/cau ...

  4. 阿里云服务器Linux CentOS安装配置(五)jetty配置、部署

    阿里云服务器Linux CentOS安装配置(五)jetty配置.部署 1.官网下载jetty:wget http://repo1.maven.org/maven2/org/eclipse/jetty ...

  5. 阿里云服务器Linux CentOS安装配置(三)yum安装mysql

    阿里云服务器Linux CentOS安装配置(三)yum安装mysql 1.执行yum安装mysql命令:yum -y install mysql-server mysql-devel 2.启动mys ...

  6. 阿里云服务器Linux CentOS安装配置(二)yum安装svn

    阿里云服务器Linux CentOS安装配置(二)yum安装svn 1.secureCRT连接服务器 2.先创建一个文件夹,用来按自己的习惯来,用来存放数据 mkdir /data 3.yum安装sv ...

  7. 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器

    阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 我在阿里云购买的服务器配置 CPU:1核 内存:2G 系统盘:40G 公共镜像:CentOS 6.5 64位 公网带宽:1Mbps ...

  8. CentOS安装配置Hadoop 1.2.1(伪分布模式)

    CentOS安装配置Hadoop1.2.1 1.下载安装文件 下载2个安装文件 JAVA环境:jdk-6u21-linux-i586.bin Hadoop环境:hadoop-1.2.1.tar.gz ...

  9. 阿里云服务器Linux CentOS安装配置(零)目录

    阿里云服务器Linux CentOS安装配置(零)目录 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 阿里云服务器Linux CentOS安装配置(二)yum安装svn 阿里云服 ...

随机推荐

  1. BestCoder Round #74 (div.2)

    组合 1001 LCP Array 第一题就小难,出题的好像是浙大的大牛? 找到一个规律:a[i] = x, s[i..i+x]都想同.a[i] = a[i+1] + 1 (a[i] > 0), ...

  2. [转载]Robotium API 翻译(三)——判断测试结果的方法assert、is、search

    该文来源于:http://blog.csdn.net/dongmu1986   下面的这些方法都主要用来判断测试结果是否与预期结果相符,一般把is和search方法放在assert里面判断.asser ...

  3. MongoDB 入门之基础 DCL

    此文章主要记录部分主要的 MongoDB 的 DCL 操作. MongoDB 默认不需要用户名和密码就可以用 mongodb.exe 登录 一.开启 MonogoDB 的权限模式 修改 MongoDB ...

  4. ACM ICPC 2015 Moscow Subregional Russia, Moscow, Dolgoprudny, October, 18, 2015 A. Anagrams

    A. Anagrams time limit per test 1 second memory limit per test 512 megabytes input standard input ou ...

  5. 移动H5前端性能优化指南(转载)

    移动H5前端性能优化指南 概述 1. PC优化手段在Mobile侧同样适用2. 在Mobile侧我们提出三秒种渲染完成首屏指标3. 基于第二点,首屏加载3秒完成或使用Loading4. 基于联通3G网 ...

  6. Zepto Code Rush 2014 B - Om Nom and Spiders

    注意题目给的是一个nxm的park,设元素为aij,元素aij 有4种可能U(上移),D(下移),L(左移),R(右移) 假设第i行第j列元素aij(注意元素的索引是从0开始的) 当aij为D时,此时 ...

  7. [总结]HNOI2015省队选拔

    // 此博文为迁移而来,写于2015年4月21日,不代表本人现在的观点与看法.原始地址:http://blog.sina.com.cn/s/blog_6022c4720102vy9t.html 这次省 ...

  8. android 百度地图开发

    package sposition.webjoy.net.sendposition; import android.os.Bundle; import android.support.design.w ...

  9. Linux-CentOS 6.5 mini 中没有curses.h的问题

    1.直接贴过程 [fengbo@CentOS: jigsaw]$ rpm -q ncursesncurses-5.7-3.20090208.el6.i686[fengbo@CentOS: jigsaw ...

  10. JAVA生成条形码

    1.下载生成条形码所需要的jar包barcode4j.jar: 2.java生成条形码代码 import java.awt.image.BufferedImage;import java.io.Fil ...