欢迎来到天天文库
浏览记录
ID:50132349
大小:509.53 KB
页数:6页
时间:2020-03-04
《Mycat性能调优指南详解.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、MyCAT性能调优指南详解JVM调优:内存占用分两部分:java堆内存+直接内存映射(DirectBuffer占用),建议堆内存适度大小,直接映射内存尽可能大,两种一起占据操作系统的1/2-2/3的内存。下面以服务器16G内存为例,Mycat堆内存4G,直接内存映射6G,JVM参数如下:-server-Xms4G–Xmx4GXX:MaxPermSize=64M-XX:MaxDirectMemorySize=6G用mycatconsole等命令启动MyCAT的,JVM参数都在confwrapper.con文件
2、中,下面是一段实例:#JavaAdditionalParameterswrapper.java.additional.5=-XX:MaxDirectMemorySize=2Gwrapper.java.additional.6=-Dcom.sun.management.jmxremote#InitialJavaHeapSize(inMB)wrapper.java.initmemory=2048#MaximumJavaHeapSize(inMB)wrapper.java.maxmemory=2048操作系统调优:
3、最大文件句柄数量的修改,设置为5000-1万,在MycatServer和Mysql数据库的机器上都设置。Linux操作系统对一个进程打开的文件句柄数量的限制(也包含打开的SOCKET数量,可影响MySQL的并发连接数目).这个值可用ulimit命令来修改,但ulimit命令修改的数值只对当前登录用户的目前使用环境有效,系统重启或者用户退出后就会失效。Mysql调优:最大连接数设置为2000[mysqld]中有参数max_connections=2000mysql>showglobalstatuslike'Ma
4、x_used_connections';MySQL服务器过去的最大连接数是245,没有达到服务器连接数上限256,应该没有出现1040错误,比较理想的设置是:Max_used_connections/max_connections*100%≈85%最大连接数占上限连接数的85%左右,如果发现比例在10%以下,MySQL服务器连接上线就设置得过高了。Mycat调优:Conf/log4j.xml中,日志级别调整为至少info级别,默认是debug级别,用于排查错误,不能用于性能测试和正式生产中。conf/serv
5、er.xml中有如下参数可以调整:1下面这个参数为每个processor的线程池大小,建议可以是16-64,根据系统能力来测试和确定。16System中以
6、下重要参数也根据情况进行调整processorBufferPool:每个processor分配的SocketDirectBuffer,用于网络通信,每个processor上管理的所有连接共享,processorBufferChunk为Pool的最小分配单元,每个POOL的容量即为processorBufferPool/processorBufferChunk,默认前者为1024*1024*16=16M,后者为4096字节。processorBufferPool参数的调整,需要观察show@@processor
7、的结果来确定:BU_PERCENT为已使用的百分比、BU_WARNS为SocketBufferPool不够时,临时创新的新的BUFFER的次数,若百分比经常超过90%并且BU_WARNS>0,则表明BUFFER不够,需要增大processorBufferPool。基本上,连接数越多,并发越高,需要的POOL越大,建议BU_PERCENT最大在40-80%之间。conf/schema.xml中有如下参数可以调整:,checkSQ
8、Lschema属性建议设置为false,要求开发中,不能在sql中添加数据库的名称,如select*fromTESTDB.company,这样可以优化SQL解析。
此文档下载收益归作者所有