Java 程序员必须了解的 7 个性能指标
来源:王韵菲
www.evget.com/article/2015/11/16/22990.html
本文中,小编搜集了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
来源:https://blog.csdn.net/rlnLo2pNEfx9c/article/details/84680284
Java 程序员必须了解的 7 个性能指标相关推荐
- 作为一名合格的JAVA程序员需要点亮那些技能树?
转自:https://zhuanlan.zhihu.com/p/26035486 先看看这些程序员技能树,你掌握或了解哪些?OMG竟然有么多---震精!震精!!! 这是从450家企业的招聘信息中统计而 ...
- 2020年Java程序员不得不学习的10大技术
对于Java开发人员来说,最近几年的时间中,Java生态诞生了很多东西.每6个月更新一次Java版本,以及发布很多流行的框架,如Spring 5.Spring Security 5和Spring Bo ...
- Java程序员三年的工作经验,却不如一个新人的工资高???
文章目录 一.关于程序员的几个阶段 第一阶段:三年 第二阶段:五年 第三阶段:十年 二.关于项目经验 三.关于专业技能 1.基本语法 2.集合 3.设计模式 4.多线程 5.JDK源码 6.框架 7. ...
- java程序员遇到的问题_Java 程序员平时最常遇到的故障:系统OOM (一)
作为 Java 程序员而言,先不考虑自己系统外部依赖的缓存.消息队列.数据库等等东西挂掉,就我们自己系统本身而言,最常见的挂掉的原因是什么? 其实就是系统OOM,也就是所谓的内存溢出! 什么是内存溢出 ...
- java程序员入门先学什么开发者工具
学习java编程语言,那么开发工具是肯定少不了的,程序员入门基础中开发工具是一定要学会的,可以帮助开发者们提高开发效率.更优雅的写代码.由于开发者涉及的技术领域众多,以后端开发者的视角盘点平时可能用得 ...
- 优秀的Java程序员应具备哪些编程技术?
想要成为一名合格的java程序猿,需要学习的知识是有很多的,但是基础知识一定要非常牢固,基础不牢固的程序员,随时都会被新的知识和技术所淘汰,下盘不稳风一吹就倒,那么具体作为一个优秀的Java程序员应具 ...
- Java程序员技术培训需要培训哪些?
随着java技术行业的不断发展,越来越多的人想要学习java技术,那么想要成为一名优秀的java工程师,需要学习的技术知识是非常多的,下面小编就为大家详细的介绍一下Java程序员技术培训需要培训哪些? ...
- Java程序员到什么级别可以去BAT上班?
学习java技术,很多人都想要进入到IT行业,如果跳槽到BAT大厂上班,那更是非常好的,近几年学习java技术的人越来越多,那么Java程序员到什么级别可以去BAT上班?来看看下面的详细介绍. Jav ...
- Java程序员修炼之路(一)我们为什么选择Java
我们为什么选择Java 大多数人选择Java可能只是因为听说Java前景好.Java比较好找工作.Java语言在TIOBE排行榜上一直位于前三等等之类的原因,但是Java具体好在哪里,心里却是没有什么 ...
最新文章
- Genome Biology:赵方庆组揭示生命早期肠道菌群演变规律及决定因素
- MPY634U 四象限模拟乘法器
- 如何从Bash脚本中检测操作系统?
- Facade Pattern
- 串行 spi Flash 跨页编程的注意点
- mysql大数据量处理
- view detail data in gateway error log
- 解决pip安装pygal在TensorFlow环境下调用失败问题
- 【免费下载】2021年9月热门报告盘点(附热门报告列表及下载链接)
- python3.7安装tensorflow-gpu_tensorflow-gpu安装的常见问题及解决方案
- 深度学习知识点全面总结
- Graph-Bert:没有我Attention解决不了的
- TC与CATIA集成使用说明
- html 源码_html制作个人博客网站模板源码下载
- 关于鸿蒙系统传统文化的作文,关于生活中的传统文化作文(精选10篇)
- HCIP之OSPF(五)
- 谁有vr片源_聊一聊VR虚拟现实(八):VR视频的清晰度
- 咸鱼洽谈(linux三剑客之一grep)美好的周五生活开始了~
- PLS-DA分析R实现
- 2022中国数字城市竞争力百强榜