您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > JAVA

Java程序员必须了解的7个性能指标

时间:2019-10-31 10:47:07  来源:  作者:

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

Java程序员必须了解的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。你也可以看看这篇:分享SLA服务可用性4个9是什么意思,怎么达到?

推荐工具:

Pingdom

7.日志大小

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

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

推荐工具:

Splunk

Sumo Logic

Loggly

以上就是为大家分享的JAVA程序员必须了解的7个性能指标,关注“武汉千锋”微信公众号,获取更多Java学习资料!



Tags:Java   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除,谢谢。
▌相关推荐
一、常用关键字53个1、保留关键字(2个) const ——常量,常数:用于修改字段或局部变量的声明。 goto——转到:指定跳转到标签,找到标签后,程序将处理从下一行开...【详细内容】
2021-07-15  Tags: Java  点击:(2)  评论:(0)  加入收藏
前几天Tiobe编程语言排行榜公布了,不少同学都好奇:C语言、Java和Python,这次谁胜谁负? TIOBE 编程语言社区排行榜是编程语言流行趋势的一个指标,这份排行榜排名基于全球技术工程...【详细内容】
2021-07-13  Tags: Java  点击:(2)  评论:(0)  加入收藏
学Java还是前端?我个人认为学前端会好一些。为什么我会这么认为呢?一、入门在刚入门时,前端的起点较低,对逻辑的要求也比Java更低些。前端编写的程序代码能直接出现在界面上,直观...【详细内容】
2021-07-13  Tags: Java  点击:(6)  评论:(0)  加入收藏
Java开发环境搭建与配置,工具集合包括:Tomcat\JDK\JRE\Redis\Maven。JDK 下载JDK安装包:jdk-8u161-windows-x64.exe。可以加关注私信我,提供百度网盘地址。 按照提示一步一步安...【详细内容】
2021-07-13  Tags: Java  点击:(7)  评论:(0)  加入收藏
多线程并发是Java语言中非常重要的一块内容,同时,也是Java基础的一个难点。说它重要是因为多线程是日常开发中频繁用到的知识,说它难是因为多线程并发涉及到的知识点非常之多,想...【详细内容】
2021-07-12  Tags: Java  点击:(5)  评论:(0)  加入收藏
Java主要提供了5个标准注解,分别是:OverrideDeprecatedSuppressWarningsSafeVarargsFunctionalInterface本文将从“如何使用这5个标准注解”,还有编译器在编译时“如何处理它们...【详细内容】
2021-07-09  Tags: Java  点击:(11)  评论:(0)  加入收藏
1 注册maven(oss)账号注册地址: https://issues.sonatype.org/secure/Signup!default.jspa 注册成功后登陆到首页2 创建一个Issue Project: 项目类型,一般为Community Suppor...【详细内容】
2021-07-05  Tags: Java  点击:(11)  评论:(0)  加入收藏
Stream使用这个方法创建一个 Stream 对象。new ArrayList<>().stream()Filter过滤器,里面传递一个函数,这个函数的返回结果如果为 true 则保留这个元素,否则的话丢弃这个元素。...【详细内容】
2021-07-04  Tags: Java  点击:(14)  评论:(0)  加入收藏
1、将arguments对象转换为数组arguments 对象是函数内部可访问的类似数组的对象,其中包含传递给该函数的参数的值。但这与其他数组不同,我们可以访问值并获取长度,但是不能对其...【详细内容】
2021-07-04  Tags: Java  点击:(12)  评论:(0)  加入收藏
1. 2.位置: Long userId = (Long) info.getPrincipals().getPrimaryPrincipal();//error48:java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang....【详细内容】
2021-07-03  Tags: Java  点击:(16)  评论:(0)  加入收藏
▌简易百科推荐
一、常用关键字53个1、保留关键字(2个) const &mdash;&mdash;常量,常数:用于修改字段或局部变量的声明。 goto&mdash;&mdash;转到:指定跳转到标签,找到标签后,程序将处理从下一行开...【详细内容】
2021-07-15  你可以叫我老白  知乎  Tags:Java   点击:(2)  评论:(0)  加入收藏
现在Java Web开发一般都是用Springboot框架,部署应用时使用Jar包(Java ARchive),也就是Java归档文件,而不是使用War包(打包格式的Java web工程)。War包结构Jar包和War包的主要区别...【详细内容】
2021-07-13  微说互联网    Tags:Jar包   点击:(5)  评论:(0)  加入收藏
前几天Tiobe编程语言排行榜公布了,不少同学都好奇:C语言、Java和Python,这次谁胜谁负? TIOBE 编程语言社区排行榜是编程语言流行趋势的一个指标,这份排行榜排名基于全球技术工程...【详细内容】
2021-07-13  易思训教育    Tags:Java   点击:(2)  评论:(0)  加入收藏
Java开发环境搭建与配置,工具集合包括:Tomcat\JDK\JRE\Redis\Maven。JDK 下载JDK安装包:jdk-8u161-windows-x64.exe。可以加关注私信我,提供百度网盘地址。 按照提示一步一步安...【详细内容】
2021-07-13  小海知识库    Tags:开发环境   点击:(7)  评论:(0)  加入收藏
多线程并发是Java语言中非常重要的一块内容,同时,也是Java基础的一个难点。说它重要是因为多线程是日常开发中频繁用到的知识,说它难是因为多线程并发涉及到的知识点非常之多,想...【详细内容】
2021-07-12  赌一包辣条  掘金  Tags:线程池   点击:(5)  评论:(0)  加入收藏
Java主要提供了5个标准注解,分别是:OverrideDeprecatedSuppressWarningsSafeVarargsFunctionalInterface本文将从“如何使用这5个标准注解”,还有编译器在编译时“如何处理它们...【详细内容】
2021-07-09  黑马程序员    Tags:Java   点击:(11)  评论:(0)  加入收藏
1 注册maven(oss)账号注册地址: https://issues.sonatype.org/secure/Signup!default.jspa 注册成功后登陆到首页2 创建一个Issue Project: 项目类型,一般为Community Suppor...【详细内容】
2021-07-05  疯狂架构师  今日头条  Tags:Java   点击:(11)  评论:(0)  加入收藏
Stream使用这个方法创建一个 Stream 对象。new ArrayList<>().stream()Filter过滤器,里面传递一个函数,这个函数的返回结果如果为 true 则保留这个元素,否则的话丢弃这个元素。...【详细内容】
2021-07-04  Java斗帝之路  今日头条  Tags:Stream   点击:(14)  评论:(0)  加入收藏
1. 2.位置: Long userId = (Long) info.getPrincipals().getPrimaryPrincipal();//error48:java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang....【详细内容】
2021-07-03  青山依旧337    Tags:java   点击:(16)  评论:(0)  加入收藏
1.找出cpu耗用厉害的进程pid终端执行输入top命令,按下shift+h 查找出cpu利用最厉害的pid号:pid号:30769 2.根据进程pid号找到哪个消耗最高的线程号终端执行输入top -H -p pid...【详细内容】
2021-06-24  胡言胡语的笔记    Tags:java进程   点击:(19)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条