zoukankan      html  css  js  c++  java
  • 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>
    

    查看日志

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

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

    1.2 Debug日志具体分析

    1) 连接获取
    [root@localhost logs]# tail -100f mycat.log
    

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

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

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

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

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

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

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

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

    3.接收完毕释放连接

    3)合并数据

  • 相关阅读:
    用Margin还是用Padding?
    更优雅的清除浮动float方法
    清除浮动float (:after方法)
    px,em,rem
    load()方法
    PHP函数详解:call_user_func()使用方法
    移动端touch事件影响click事件以及在touchmove添加preventDefault导致页面无法滚动的解决方法
    Mysql开启远程连接方法
    mysql的字符串连接符
    php使用curl访问https返回无结果的问题
  • 原文地址:https://www.cnblogs.com/chinesern/p/7783367.html
Copyright © 2011-2022 走看看