高手的存在,就是让服务10亿人的时候,你感觉只是为你一个人服务......
  • About Me



  • 兴趣爱好


  • 上一张

    Java 诊断工具 Greys

    常见的Java诊断工具有几个:
    Btrace (应该是元老级别)
    https://github.com/btraceio/btrace
    HouseMD (阿里系,好多年没更新了,将常用的几个Btrace脚本整合在一起形成一个独立风格的应用)
    https://github.com/CSUG/HouseMD
    Greys(阿里系,参考的HouseMD和Btrace的思路,做了很多优化)
    https://github.com/oldmanpushcart/greys-anatomy
    Arthas(阿里系,基于 Greys 进行二次开发的全新在线诊断工具)
    https://github.com/alibaba/arthas

    从上面可以看出来,目前最新最全面的是Arthas。公司使用的wildfly8.0版本的容器,Arthas无法attach到对应的java进程上,而Greys却可以(已提交issue)。这里只能退而求其次,使用Greys,实际上已经可以满足我个人对性能监控的要求了。

    pt-query-digest

    慢查询日志(slow-log)可以帮助我们分析mysql的性能问题,pt-query-digest可以对慢查询日志进一步分析、汇总,整理出一份优秀的报表展示给我们。

    不仅如此,pt-query-diges它还可以分析binlog、General log,也可以通过SHOWPROCESSLIST或者通过tcpdump抓取的MySQL协议数据来进行分析。

    pinpoint 监控wildfly

    苦苦等待一年的时间,pinpoint-1.8.1-RC1 版本终于支持了对wildfly的监控。

    统计DB2并发数、回滚数、锁等待

    目录

    将DB2的并发数、事物回滚数、锁等待数每隔5s写入指定文件中,用于统计分析。

    1
    2
    3
    4
    5
    6
    7
    #连接用户 
    su - 用户名 例如: su - db2ins
    #连接数据库
    db2 connect to 数据库名称 例如:db2 connect to insdb

    # 执行命令
    while :; do db2 -tx "select APPLS_IN_DB2,LOCK_TIMEOUTS,DEADLOCKS,LOCK_ESCALS,ROLLBACK_SQL_STMTS from sysibmadm.snapdb">>statistics.out; sleep 5s; done

    mybatis-generator

    mybatis-generator 可以生成开发中需要的dao、mapper.xml、实体类,很方便。这里推荐两种生成方法。

    spring-boot-starter-parent

    Spring Boot项目pom.xml中,存在如下配置:

    1
    2
    3
    4
    5
    <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.1.RELEASE</version>
    </parent>

    这是Spring Boot特有的父级依赖。

    使用spring-boot-starter-parent后,常用的Spring Boot依赖包可以不用写version标签了。

    聊聊磁盘I/O

    Alt text

    由于SSD在价格方面昂贵,企业级应用服务存储大多还是选择HDD。

    毕竟性价比高嘛,但随着计算机硬件-CPU,内存的不断发展,磁盘I/O在性能方面越来越拖后腿。

    mytop 安装使用

    mytop 是一个类似 top 命令的 MySQL 监控工具,可以监控当前正在执行的sql和连接数。