最近有同行在使用Amoeba 的过程中多少遇到了一些问题。

总结一下遇到问题的解决方法:

1、读写分离的时候设置的在queryRouter中设置无效?

读写分离配置的优先级别:

       1满足rule.xml 文件中规则的级别比 queryRouter的要高
在rule文件中:
     2)Rule 中的配置 比 tableRule高
     3)读、写 配置比 默认配置 高
 
你检查一下rule.xml是否存在rule 规则配置满足你的sql,从而走的是 rule中的那些read/write/default   pool. 如果存在可以删除或者把规则完善。
 queryRouter的配置是针对所有sql,但是如果先满足了某条rule,则将会选择rule的配置。
 
记住配置优先级别。

2、读写大数据量的时候内存溢出?

Amoeba默认内存设置比较少set DEFAULT_OPTS=-Xms64m -Xmx128m,具体设置请根据amoeba.bat进行修改。Java的垃圾收集参数、内存参数、以及操作系统多线程方面等都需要进行调优。java的 JVM在32位系统最大一般是1.5G,多线程处理方面,一般看并发以及cpu数量决定的。
 
Sql无限制条数情况,如果结果集合过大,不仅仅amoeba,甚至应用都会崩溃,必然会存在这种内存瓶颈问题。这个需要DBA来审核每条的sql,避免这种类似sql出现。作为测试来说,需要jvm参数设置超过你读取数据所消耗最大内存。Java对超多对象处理会明显感觉性能下降,特别是进行垃圾回收的时候。
 
因此在使用amoeba的时候请先调整好自己使用的内存参数,这个对非java用户来说可能有点难度
这儿我就对内存参数设置做一个说明:
-Xms 是该应用最小的jvm内存。 -Xmx是jvm内存最大设置, 后面m表示内存大小单位。作为生成环境当操作系统大于1G的时候一般建议设置1024m。
 
 
 
分享到: 

http://blog.csdn.net/csrcom/article/details/2581062

解决在使用Amoeba遇到的问题的更多相关文章

  1. 解决 Amoeba连接mysql出错 解决方案

    今天配置mysql的主从复制 用到了Amoeba.从安装到启动服务,我深深地体会到学运维的不易. 首先是  安装错误  的解决,连接错误  的兄弟可以直接往下拉. 安装错误 1.出现 JAVA_HOM ...

  2. Amoeba+Mysql实现数据库读写分离

    一.Amoeba 是什么 Amoeba(变形虫)项目,专注 分布式数据库 proxy 开发.座落与Client.DB Server(s)之间.对客户端透明.具有负载均衡.高可用性.sql过滤.读写分离 ...

  3. Amoeba for MySQL---分布式数据库Proxy解决方案

    Amoeba是什么? Amoeba(变形虫)项目,致力于MySQL的分布式数据库前端代理层,它主要在应用层访问MySQL的时候充当SQL路由功能,专注于分布式数据库代理层(Database Proxy ...

  4. Amoeba For MySQL读写分离

    Amoeba安装,参考http://hi.baidu.com/itfenqing/item/79fe989838e1e8ad83d2959c Amoeba版本为:amoeba-mysql-1.3.1- ...

  5. Amoeba:开源的分布式数据库Porxy解决方案

    http://www.biaodianfu.com/amoeba.html 什么是Amoeba? Amoeba(变形虫)项目,该开源框架于2008年 开始发布一款 Amoeba for Mysql软件 ...

  6. Amoeba for MySQL MySql集群软件

    一, Amoeba简述    Amoeba for MySQL致力于MySQL的分布式数据库前端代理层,它主要在应用层访问MySQL的时候充当query 路由功能,专注 分布式数据库 proxy 开发 ...

  7. (转)使用Amoeba 实现MySQL DB 读写分离

    Amoeba(变形虫)项目是一个开源框架,于2008年开始发布一款 Amoeba for Mysql软件: 这个软件致力于MySQL的分布式数据库前端代理层,它主要在应用层访问MySQL的时候充当SQ ...

  8. Amoeba For MySQL入门:实现数据库水平切分

    当系统数据量发展到一定程度后,往往需要进行数据库的垂直切分和水平切分,以实现负载均衡和性能提升,而数据切分后随之会带来多数据源整合等等问题.如果仅仅从应用程序的角度去解决这类问题,无疑会加重应用程度的 ...

  9. Amoeba相关产品及其介绍

    Amoeba for MySQL Amoeba for MySQL致力于MySQL的分布式数据库前端代理层,它主要在应用层访问MySQL的时候充当query       路由功能,专注 分布式数据库 ...

随机推荐

  1. LinkedList,SortedList 基本用法

    LinkedList类是双向列表,列表中的每个节点都包含了对前一个和后一个元素的引用. LinkedList<int> ma = new LinkedList<int>(); ...

  2. JDK集合框架--ArrayList

    ArrayList,从类名就可以看出来,这是由数组实现的List,即内部是用数组保存元素的有序集合.先看看主要的成员变量,比较简单: public class ArrayList<E> e ...

  3. 搞定redis面试--Redis的过期策略?手写一个LRU?

    1 面试题 Redis的过期策略都有哪些?内存淘汰机制都有哪些?手写一下LRU代码实现? 2 考点分析 1)我往redis里写的数据怎么没了? 我们生产环境的redis怎么经常会丢掉一些数据?写进去了 ...

  4. 2019最新版Devops工具集

    啥是Devops? 简单地来说,就是开发(DEV).测试(QA).运维(OPS)的流程,开发运维一体化,通过高度自动化工具与流程来使得软件构建.测试.发布更加快捷.频繁和可靠. 当然现实的DevOps ...

  5. RFTWEB测试对象抓取的方法

    本文转自:http://feiyeguohai.iteye.com/blog/1468576 Rational Functional Tester (RFT) 作为 IBM 自己设计研发的自动化测试工 ...

  6. Cygwin, MinGW/MSYS, MinGW-W64/MSYS2

    1. Cygwin http://www.cygwin.com/ Cygwin is a large collection of GNU and Open Source tools which pro ...

  7. Java并发——volatile关键字的使用

    volatile关键字的使用volatile关键字原理适合使用volatile关键字的情况当且仅当满足以下所有条件时,才==应该==使用volatile关键字:volatile关键字的作用volati ...

  8. CE工具里自带的学习工具--第三关

    图解: 重复第5,6,7,8,9步,最终得到:

  9. HR教你面试时怎么谈出高工资

    不是任何时候谈钱都会伤感情,比如跟客户谈合同报价,跟房东谈房租,以及面试时和公司HR谈新工作的薪酬待遇. 这事儿一般不需要你先开口.在面试进入尾声的时候,如果HR对你还算满意,通常就会开始问你目前的薪 ...

  10. pycharm 破解

    亲测有效! http://blog.lanyus.com/archives/174.html 备注: 注册码破解链接:http://idea.lanyus.com/ 将下载的jar包放入PyCharm ...