Java是目前世界上最流行的计算机编程语言,是一种可以编写跨平台应用软件的面向对象的程序设计语言。本文中,小千搜集了7个最有影响的衡量标注,让你可以不依赖日志文件来了解应用程序。现在,让我们看看这些性能指标,并了解如何查看并收集它们:

1.响应时间和吞吐量

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

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

推荐工具:

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知识,欢迎关注小千,后期会继续分享Java技术知识!

本文来自千锋教育,转载请注明出处。

Java程序员必须掌握的7个Java性能指标!相关推荐

  1. 2019最新Java程序员面试指南——HR的套路+Java常见技术点

    本文转载自:2019最新Java程序员面试指南--HR的套路+Java常见技术点 面试是件既简单又复杂的事情,也正是因为简单和复杂的两面性,所以Java程序员在面试的时候要多学些面试技巧,当然技术也不 ...

  2. java程序员第二语言_惊呆了!Java程序员最常犯的错竟然是这10个

    和绝大多数的程序员一样,我也非常的宅.周末最奢侈的享受就是逛一逛技术型网站,比如说 programcreek,这个小网站上有一些非常有意思的主题.比如说:Java 程序员最常犯的错竟然是这 10 个, ...

  3. java程序员发展_超详细的Java程序员职业发展路径,值得深思!

    在国内IT行业招聘中,大量的招聘需求都是和Java相关,且比例还在上升.巨大的人才缺口直接导致各企业纷纷以高薪聘请Java人才.那么,Java工程师的职业发展路径是什么样的?小白入门Java后,成长路 ...

  4. Java程序员必须要学ajax吗,Java程序员需要具备哪些专业技能?

    我们都知道,Java程序员是一个技术岗位,从技术上和业务上都需要不断地提升自我. 经常有小伙伴疑惑:一个合格的Java程序员需要会哪些东西?今天,就来和大家好好聊一聊,超多干货,快快收藏哦! Java ...

  5. Java程序员应该看的14本Java书籍!

    关乎于程序员,除了做项目来提高自身的技术,还有一种提升自己的专业技能就是:多!看!书! 毕竟,书是学习的海洋呢!So,Java程序员你们准备好了吗?双手奉上Java程序员必读之热门书单. 在下面这 1 ...

  6. java程序员比c多_为什么JAVA会比C语言使用的多?

    Java和C都是指令式语言(Imperative Language),不同的是Java有面向对象(OO)成分在里面,而C是完全面向过程的,C的高级版本C++.C#支持面向对象. 另外一个不同是,Jav ...

  7. 阿里P8大牛推荐Java程序员必看的 13 本 Java 书籍

    关乎于程序员,除了做项目来提高自身的技术,还有一种提升自己的专业技能就是:多!看!书! 毕竟,书是学习的海洋呢!So,Java程序员你们准备好了吗?双手奉上Java程序员必读之热门书单. 在下面这 1 ...

  8. java程序员 ipad_‎App Store 上的“JAVA程序员自学编程”

    *****Java程序员的给力助手***** -----本应用是一款java程序员自学参考手册,内容涵盖了所有java自学入门教程.高级教程以及数十道java经典面试题及代码答案,十分适合java开发 ...

  9. 5年java程序员述职报告_一个5年Java程序员的年终总结,献给还在迷茫中的你

    我越来越担心我作为一个Java程序员的未来. 恍然间,发现自己在这个行业里已经摸爬滚打了五年了,原以为自己就凭已有的项目经验和工作经历怎么着也应该算得上是一个业内比较资历的人士了,但是今年在换工作的过 ...

最新文章

  1. Python的list中的选取范围
  2. 在Windows下搭建SVN服务器并且集成到 Eclipse 开发环境中
  3. 操作多个表_2_组合相关的行
  4. 手起刀落-一起来写经典的贪吃蛇游戏
  5. Sentinel(十九)之主流框架的适配
  6. (35)VHDL实现JK触发器
  7. (05)System Verilog 数组类型详解
  8. APACHE 403 FORBIDDEN错误的解决办法之一
  9. Volley源码解析(三)
  10. conda查看已装包_conda一个包管理器
  11. 手机邮件打开一个html会中木马,小心,QQ邮件中的木马!
  12. FANUC机器人基础学习_示教器详解(图文)
  13. 图像处理中饱和度、色调、对比度的定义
  14. Office excel2010如何用两个文件分别打开两个窗口
  15. 永久免费的数据库防火墙(堡垒机)
  16. OpenGL和DirectX
  17. LeetCode——89.格雷编码
  18. SpringBoot POI导出Excel
  19. 利用mysql的几种提权方式
  20. JAVA向client打印一行_java8 httpclient NameValuePair转换14行代码一行搞定!

热门文章

  1. 基于DGCNN和概率图的轻量级信息抽取模型
  2. Google BERT应用之《红楼梦》对话人物提取
  3. 近期大热的AutoML领域,都有哪些值得读的论文?
  4. java第六章工具包P6-03.Optional 2020.4.?
  5. r语言x c(-1 -2),【软件】R语言入门之向量
  6. Mybatis更新和删除数据
  7. C++——《算法分析与设计》实验报告——最长公共子序列问题
  8. 如何增加服务器磁盘空间,linux 服务器如何扩展磁盘空间
  9. 【java学习笔记-io流 文件读写和键盘读写】带缓存的输入/输出流和数据输入/输出流
  10. Docker Gogs