Mycat实战之日志分析

环境搭建参见之前发的一篇:http://www.cnblogs.com/chinesern/p/7667106.html

1修改log4j.xml 配置增加其他级别调试以及验证是否自动加载
 cat /usr/local/mycat/conf/log4j.xml 

<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="ConsoleAppender" class="org.apache.log4j.ConsoleAppender">
  <layout class="org.apache.log4j.PatternLayout">
   <param name="ConversionPattern" value="%d{MM-dd HH:mm:ss.SSS}  %5p [%t] (%F:%L) -%m%n" />
  </layout>
 </appender>
  <appender name="FILE" class="org.apache.log4j.RollingFileAppender">
    <param name="file" value="${MYCAT_HOME}/logs/mycat.log" />
    <param name="Append" value="false"/>
    <param name="MaxFileSize" value="1000KB"/>
    <param name="MaxBackupIndex" value="10"/> 
    <param name="encoding" value="UTF-8" />
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d{MM/dd HH:mm:ss.SSS}  %5p [%t] (%F:%L) -%m%n" />
    </layout>
  </appender>


  <appender name="FILE2" class="org.apache.log4j.RollingFileAppender">
    <param name="file" value="${MYCAT_HOME}/logs/sqlexecutebug.log" />
    <param name="Append" value="false"/>
    <param name="MaxFileSize" value="1000KB"/>
    <param name="MaxBackupIndex" value="10"/>
    <param name="encoding" value="UTF-8" />
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%d{MM/dd HH:mm:ss.SSS} %5p [%t] (%F:%L) -%m%n" />
    </layout>
  </appender>


  <logger name="org.opencloudb.mysql.nio.MySQLConnection" additivity="false">
    <level value="debug" />
    <appender-ref ref="FILE2" />
  </logger>

    <root>
    <level value="debug" />
    <appender-ref ref="FILE" />
     <!--<appender-ref ref="FILE" />-->
  </root>

</log4j:configuration>

17482981.jpg

查看日志

[root@localhost logs]# tail -100f wrapper.log

26721313.jpg

加载成功,此时sqlexecutebug 文件也生成了!!

57764774.jpg

1.2 Debug日志具体分析
1) 连接获取
[root@localhost logs]# tail -100f mycat.log

34525400.jpg

第一行 记录了查询语句的发起host以及数据库名和具体的查询语句

第二行 sqlroute cache命中,说明之前有执行过 已经缓存了

第三行:无阻塞会话,标识逻辑数据库 schema 信息,数据库 ip 地址,连接用户,事务级别 3,打开自动提交,接着travelrecord 路由到 3 个 datanode 分别是 dn1 到 dn3

2) 同步信息
 [root@localhost logs]# tail -100f sqlexecutebug.log

16654991.jpg

主要同步设置事务隔离级别为:REPEATABLE READ 以及数据库连接信息:thread id,时间,连接用户以及 schema 是否切换,是否读取slave,字符集为 utf8,事务自动提交以及 sql 路由信息。

3)数据返回 释放连接 以db1为例
 [root@localhost logs]# tail -100f mycat.log

11485898.jpg

1.与各个数据库(db1,db2,db3)节点建立连接

2.执行查询并且接收数据

3.接收完毕释放连接

3)合并数据

69309352.jpg

转载于:https://www.cnblogs.com/chinesern/p/7783367.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值