Java 应用发布后,负载(Load)分析及问题排查

  • 时间:
  • 浏览:2

分析 GC 日志文件是理解 GC 中止时间和频率的关键。刚刚不自行分析,刚刚使用类事 jClarity 的工具,一点指标是没办法 法律妙招直接使用的。什么都 要确保使用相当于的 JVM 参数打开 GC 日志采集,以便分析。

不能否 内控 监测响应时间,如何让 还要硬代码,类事通过 Dropwizard 指标发送数据并在 Graphite 上发布。尽管看来将哪些数据和一点标准关联还要老是 冒出最有用的见解,但更多的见解仍含有在接下来的法律妙招中。

HBase Shell; enter ‘help‘ for list of supported commands.

要点3: 要外理错误率增长的根本由于,仅靠日志文件是不足的,为了得到一定量关于当让我们歌词 歌词 所需指标的数据,还还要利用一点错误率监控工具。

$ /opt/hbase-1.0.1.1/bin/start-hbase.sh

一点也很简单,刚刚build失败,那肯定是缺少Make刚刚Autotools等东西,用包管理器安装即可。

刚刚你还想使用自带的界面,则还要安装GnuPlot 4.2及刚刚版本,以及gd和gd-devel等。这里当让我们歌词 歌词 选折 了GnuPlot 5.0.1的版本。

图为在一台服务器上运行 htop 以检测负载,平均负载显示在界面的右上角。

3. 错误率(及如外理)

安装HBase

要点1: 确保所使用的采集法律妙招能否 实现不必同深度1观测数据,并开始进入百分位层面。

响应时间用来衡量应用多多应用程序 中的事务外理数率,它不能否 从 HTTP 请求层和数据库层来观察。一点最慢的查询还要最优化外理,而响应时间能否 缩小该查询的范围。吞吐量从刚刚深度1观察外理过程,并显示应用多多应用程序 在给定时间域中外理有几个请求,通常单位为每分钟(cpm)。

应用层考察错误率,比如在所有 HTTP 请求中考察失败的 HTTP 外理总数。如何让 还有一3个多老是 被忽视的具体点:特定事务的错误,这与应用多多应用程序 的运行情况汇报有直接的影响。代码中某一特定法律妙招失败、生成日志错误及占据 异常的次数占总调用次数的比重,也要予以显示。

starting master, logging to /opt/hbase-1.0.1.1/logs/hbase-vagrant-master-localhost.localdomain.out

图为 OneAPM 对事务中的错误率监控,随时间监控应用错误率情况汇报。

Version 1.0.1.1, re1dbf4df500d214fca14908df71d0350081577ea46, Sun May 17 12:34:26 PDT 2015create ‘tsdb-uid’,

平均负载除了能否 简单测量 CPU 利用率,更着重于考量每个内核目前在队列含有有几个多多应用程序 。某内核利用率达5000%,如何让 却即将开始任务,而另一内核在队列中还有6个多多应用程序 要外理,一点种情况汇报是截然不同的。CPU 一点概念并没办法 含有其区别,如何让 平均负载却能否 从大局中考虑此间题。

错误率观测有多种法律妙招,而多数开发人员都利用高层次标准——在整个

$ echo $JAVA_HOME/usr

如何让 哪些数据对其两种并没办法 很多的意义。第一步,从正在外理的事件中优选出最紧急的一件,找到日志错误或异常;第二步,从实际根源处着手,并予以修复。如何让 基于此间题,已有相应的外理法律妙招。有了 OneAPM ,就没办法 必要根据日志文件去找错误提示,刚刚关于服务器情况汇报的所有信息还要在同一界面显示,包括堆栈踪迹、实源代码、变量值及每个错误调用的应用实例。

要点2: 要选折 负载,仅靠资源利用率是不足的,还还要格外注意以便充分了解队列中的多多应用程序 。

$ git clone git://github.com/OpenTSDB/opentsdb.git$ cd opentsdb$ ./build.sh

{NAME => ‘id’, COMPRESSION => ‘NONE’, BLOOMFILTER => ‘ROW’},

首先,确保设置了JAVA_HOME:

可行工具:

{NAME => ‘name’, COMPRESSION => ‘NONE’, BLOOMFILTER => ‘ROW’}0 row(s) in 0.44500 secondsHbase::Table – tsdb-meta

tsdb-metatsdb-treetsdb-uid4 row(s) in 0.01500 seconds

htop

jClarity Censum

错误率

2. 平均负载

$ tar zxvf gnuplot-5.0.1.tar.gz$ cd gnuplot-5.0.1$ ./configure$ make$ sudo make install

安装 OpenTSDB

创建表OpenTSDB所还要的表社会形态:

GCViewer

刚刚安装GnuPlot:

测量响应时间的法律妙招之一什么都 使用像 New Relic 刚刚 AppDynamics(什么都 曾在刚刚的博客讨论的)那种 APM(应用性能监控工具),通过哪些工具,能否 追踪平均响应时间,不能否 直接在主报告仪表板上与昨日刚刚上周的平均响应时间作比较,哪些比较不不利于查看新的部署如何对应用多多应用程序 造成了影响。另两种法律妙招是通过测量网页外理的百分位数,来测量 HTTP 请求完成响应所需的时间。

OneAPM

AppDynamics

tsdb

若在 linux 系统上跟踪平均负载情况汇报,一3个多极好的法律妙招什么都 通过 Hisham Muhammad 利用 htop 完成。充沛的色彩加带生动的视觉化效果,瞬间使得命令行有了 NASA 仪表板的即视感。

要点4: 请记住,分析不同指标的相关数据,要保持开阔的思维,刚刚容易发现它们之间的互相影响。

$ sudo yum install -y gd gd-devel libpng libpng-devel

{NAME => ‘t’, VERSIONS => 1, COMPRESSION => ‘NONE’, BLOOMFILTER => ‘ROW’}0 row(s) in 0.2500 secondsHbase::Table – tsdbcreate ‘tsdb-tree’,

Ruxit

垃圾回收器行为异常,是由于应用吞吐量和响应时间老是 下降的主要由于之一。读者想要了解关于垃圾回收过程的更多知识和相关的标准,可阅读 深入理解Java虚拟机(第2版)。

New Relic

一点很多说了,非常简单,只还要按照  这里所说,下载、解压、修改配置文件、启动即可。

在habse shell里,能否 都看表刚刚创建成功。

> listTABLE

可行工具:

刚刚便可启动hbase:

根据情况汇报执行(没办法 就装),安装所需软件

$ build/tsdb tsd

{NAME => ‘t’, VERSIONS => 1, COMPRESSION => ‘NONE’, BLOOMFILTER => ‘ROW’}0 row(s) in 0.21500 secondsHbase::Table – tsdb-treecreate ‘tsdb-meta’,

图为 OneAPM 上监控到的 Java 应用多多应用程序 响应时间和吞吐量

Java应用响应时间和吞吐量

{NAME => ‘name’, COMPRESSION => ‘NONE’, BLOOMFILTER => ‘ROW’}0 row(s) in 1.31500 secondsHbase::Table – tsdb-uidcreate ‘tsdb’,

第3个广泛使用的衡量指标什么都 服务器的平均负载。平均负载习惯上分成3每段,在最后的1、5和15分钟(从左到右)显示其结果。若果分数低于机器内核的数量,什么都 无压力情况汇报,一旦超过内核数,就由于机器占据 压力情况汇报。

这刚刚,再设置HBASE_HOME:

htop

刚刚都看输出:

表创建刚刚,即可启动tsd服务,只还要运行如下命令:

$ env COMPRESSION=NONE ./src/create_table.sh2016-01-08 06:17:58,045 WARN [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable

2016-01-09 05:51:10,875 INFO [main] TSDMain: Ready to serve on /0.0.0.0:4242

4. GC率和心止时间

Type “exit” to leave the HBase Shell

$ echo $HBASE_HOME/opt/hbase-1.0.1.1

可行工具: