文档章节

对 Java 意义重大的 7 个性能指标

木子SMZ
 木子SMZ
发布于 2018/11/13 15:35
字数 1176
阅读 37
收藏 0

    本文摘自ImportNew公众号推文,文章介绍了一些重要的指标及相关的监控或者辅助工具,记录分享,再次推荐ImportNew公众号

 

 

本文中,小编搜集了7个最有影响的衡量标注,让你可以不依赖日志文件来了解应用程序。现在,让我们看看这些性能指标,并了解如何查看并收集它们:

 

1.响应时间和吞吐量

 

根据应用程序的响应时间可以知道程序完成传输数据所用的时间。也可以从HTTP请求级别,或者成为数据库级别来看。对那些缓慢的查询你需要做一些优化来缩短时间。吞吐量是另一个角度衡量传输数据的指标,是指单位时间内系统处理的客户请求的数量。

 

我们可以使用APMs(例如New Relic或AppDynamics)来衡量这些指标。使用这些工具,你可以在主报告仪表板中将平均响应时间与昨天的甚至上周的直接进行对比。这有助于我们观察新的部署是否会影响到我们的应用程序。你可以看到网络传输的百分比,测量HTTP完成请求需要多长时间。

 

推荐工具:

 

  • AppDynamics

  • New Relic

  • Ruxit

 

New Relic报告:Web传输百分比和吞吐量

 

2.平均负载

 

第二个应用广泛的指标是平均负载。我们习惯上会把平均负载分为这三步测量,分别是第5分钟、第15分钟和最后1分钟。要保证数量低于机器的内核数。一旦超过内核数,机器就会运行在压力状态下。

 

除了简单测量CPU使用率,还需要关注每个内核的队列中有多少进程。在内核使用率都是100%的情况下,队列中只有1个任务和有6个任务有很大不同。因此,平均负载不能只考虑CPU使用率。

 

推荐工具:

 

  • htop

 

3.错误率

 

大多数开发人员判断错误率是根据HTTP传输总失败百分比。但是他们忽略了一个更深层的东西:特定传输的错误率。这直接影响到您应用程序的运行状况。这可以显示出代码方法的错误以及错误或异常出现的次数。

 

但单纯的错误率数据对我们没有多大帮助。最重要的是我们要找到它们的根源并解决问题。随着Takipi的运行,我们要在日志文件中需找线索。你可以找到所有关于服务器状态的信息,包括堆栈跟踪、源代码和变量值。

 

推荐工具:

 

  • Takipi

 

4.GC率和暂停时间

 

异常行为垃圾收集器应用程序的吞吐量和响应时间采取深潜的主要原因之一。了解GC暂停频率和持续时间的关键是分析GC日志文件。要分析它们,你需要收集GC日志和JVM参数。你要注意观察不同指标之间的数据是如何相互影响的。

 

推荐工具:

 

  • jClarity Censum

  • GCViewer

 

5.业务指标

 

应用程序的性能不完全取决于响应时间和错误率。业务指标也是一方面,例如收益、用户数。

 

推荐工具:

 

  • Grafana

  • The ELK stack

  • Datadog

  • Librato

 

6.正常运行时间和服务运行状态

 

这一指标奠定了整个应用程序性能的基础。不仅可以当做一个提醒指标,也可以让你定义一段时间内的SKA。我们可以使用Pingdom的servlet功能进行运行状态检查。我们可以查到应用程序的所有传输,包括数据库和S3。

 

推荐工具:

 

  • Pingdom

 

7.日志大小

 

日志有一个缺点,它是一直在增加的。当您的服务器启动塞满了垃圾,一切都慢下来。因此,我们需要密切的关注日志大小。

 

目前通常的解决办法是使用logstash划分使用日志,并将它们发送并存储在Splunk、ELK或其他的日志管理工具中。

 

推荐工具:

 

  • Splunk

  • Sumo Logic

  • Loggly

本文转载自:https://view.inews.qq.com/w/WXN20181113000265050?refer=nwx&bat_id=1103019092&cur_pos=0&grp_type=r...

木子SMZ
粉丝 2
博文 34
码字总数 22804
作品 0
昌平
程序员
私信 提问
Java 社区目前的现状 —— 交易

这是关于一笔交易的故事。 没有人为交易签过字。 但这仍然是一笔重要的交易。 这是Java的主人和Java社区之间的交易。 交易 这是我对Java的主人和Java社区之间如何相互影响作用的观点: Java...

红薯
2011/01/11
2.1K
5
java 程序性能调优(总结一:概述)

本系列文章 是博主阅读 《java 程序性能优化》一书的总结。大部分内容来自此书。 性能参考指标 1,执行时间:一段代码从开始运行到结束运行,所使用的时间; 2,CPU时间:函数或者线程占用c...

hamlin
2016/04/07
0
0
​Spring Boot 2.0 同步至 Maven 仓库出错,已撤回……

Spring Boot 2.0 目前已在 GitHub 上发布了 v2.0.0.RELEASE 版本(https://github.com/spring-projects/spring-boot/releases/tag/v2.0.0.RELEASE)。 不过还没同步至 Maven 中央仓库,请保持关......

凝小紫
2018/03/01
8.7K
54
2018 年 Java 平台发布计划之新特性展望

过去一年 Java 发生了许多变化,其中一部分原因在于推迟了一年的 Java 9 的推出。但是,随着时间的推移,人们发现,比起 Java 9 的推出,Java 版本发布周期的变更意义更为重大。 前段时间公布...

达尔文
2018/01/14
3.8K
7
大数据平台自动扩容系统

【业务需求】 开发大数据集群自动化扩容平台部署和有效管理的系统。通过完全可视化的界面方便用户快速对现有大数据集群进行扩容和移除,为集群扩容和集群迁移提供了一个高效的方式,对大数据...

wing-hwang
2017/08/04
3
5

没有更多内容

加载失败,请刷新页面

加载更多

抽象同步队列AQS——AbstractQueuedSynchronizer锁详解

AQS——锁的底层支持 谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)! 类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资...

须臾之余
今天
3
0
springboot配置百度UEditor 富文本详解

富文本简介 UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码... 准备工作 ueditor需要单独文...

wotrd
昨天
4
0
mysql 5.7之my.cnf配置大全

[client]port = 3306socket = /tmp/mysql.sock[mysqld]###############################基础设置######################################Mysql服务的唯一编号 每个mysql服务...

Online_Reus
昨天
3
0
MAVEN打包时引入外部链接的包

1.项目引入了ORACLE的jar包,MAVEN配置如下 2.打jar包的时候需要指定下main入口函数mainClass <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> ......

Cobbage
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部