Mycat之——配置文件server.xml
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/53386338 server.xml几乎保存了所有mycat需要的系统配置信息。其在代码内直接的映射类为SystemConfig类。现在就对这个文件中的配置,一一介绍。 <user name="test"> <property name="password">test</property> <property name="schemas">TESTDB</property> <property name="readOnly">true</property> </user>server.xml中的标签本就不多,这个标签主要用于定义登录mycat的用户和权限。例如上面的例子中,我定义了一个用户,用户名为test、密码也为test,可访问的schema也只有TESTDB一个。如果我在schema.xml中定义了多个schema,那么这个用户是无法访问其他的schema。在mysql客户端看来则是无法使用use切换到这个其他的数据库。如果使用了use命令,则mycat会报出这样的错误提示:ERROR 1044 (HY000): Access denied for user 'test' to database 'xxx'这个标签嵌套的property标签则是具体声明的属性值,正如上面的例子。我们可以修改user标签的name属性来指定用户名;修改password内的文本来修改密码;修改readOnly为true 或false来限制用户是否只是可读的;修改schemas内的文本来控制用户可放问的schema;修改schemas内的文本来控制用户可访问的schema,同时访问多个schema的话使用,隔开,例如: <property name="schemas">TESTDB,db1,db2</property> system标签这个标签内嵌套的所有property标签都与系统配置有关,请注意,下面我会省去标签property直接使用这个标签的name属性内的值来介绍这个属性的作用。 defaultSqlParser属性由于mycat最初是时候Foundation DB的sql解析器,而后才添加的Druid的解析器。所以这个属性用来指定默认的解析器。目前的可用的取值有:druidparser和 fdbparser。使用的时候可以选择其中的一种,目前一般都使用druidparser。 processors属性这个属性主要用于指定系统可用的线程数,默认值为Runtime.getRuntime().availableProcessors()方法返回的值。主要影响processorBufferPool、processorBufferLocalPercent、processorExecutor属性。NIOProcessor的个数也是由这个属性定义的,所以调优的时候可以适当的调高这个属性。 processorBufferChunk属性这个属性指定每次分配Socket Direct Buffer的大小,默认是4096个字节。这个属性也影响buffer pool的长度。 processorBufferPool属性这个属性指定bufferPool计算 比例值。由于每次执行NIO读、写操作都需要使用到buffer,系统初始化的时候会建立一定长度的buffer池来加快读、写的效率,减少建立buffer的时间。 Mycat中有两个主要的buffer池:- BufferPool processorBufferLocalPercent属性前面提到了ThreadLocalPool。这个属性就是用来控制分配这个pool的大小用的,但其也并不是一个准确的值,也是一个比例值。这个属性默认值为100。 processorExecutor属性这个属性主要用于指定NIOProcessor上共享的businessExecutor固定线程池大小。mycat在需要处理一些异步逻辑的时候会把任务提交到这个线程池中。新版本中这个连接池的使用频率不是很大了,可以设置一个较小的值。 sequnceHandlerType属性指定使用Mycat全局序列的类型。0为本地文件方式,1为数据库方式。默认是使用本地文件方式,文件方式主要只是用于测试使用。 TCP连接相关属性StandardSocketOptions.SO_RCVBUF 周期间隔相关属性mycat中有几个周期性的任务来异步的处理一些我需要的工作。这些属性就在系统调优的过程中也是比不可少的。 服务相关属性这里介绍一个与服务相关的属性,主要会影响外部系统对myact的感知。 bindIp : mycat服务监听的IP地址,默认值为0.0.0.0。 serverPort : 定义mycat的使用端口,默认值为8066。 managerPort : 定义mycat的管理端口,默认值为9066。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |