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

640


来源:王韵菲 

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


推荐阅读

高级面试:JAVA内存模型

Java 程序员必备的高效 Intellij IDEA 插件

Spark SQL用UDF实现按列特征重分区

  • 31
    点赞
  • 167
    收藏
    觉得还不错? 一键收藏
  • 22
    评论
### 回答1: 要成为年薪百万的Java程序员,以下是几个可能有助于实现目标的建议: 1. 不断学习和提高自己的技能:Java是一门广泛应用于企业级应用和大型系统的编程语言,因此要成为顶尖的Java程序员,需要具备深入的专业知识和实践经验。不断学习和提高自己的技能,包括掌握最新的Java技术和框架,可以帮助你成为更有价值的程序员。 2. 拥有卓越的解决问题能力:卓越的解决问题能力是Java程序员成功的关键。在日常工作中,要积极主动地解决各种技术难题,发挥自己的创造力,寻求优化解决方案。 3. 掌握软件工程实践:掌握软件工程实践对Java程序员来说至关重要。从需求分析、设计、编码、测试到部署和维护,Java程序员需要熟练掌握软件开发的整个生命周期。 4. 具备商业和管理技能:Java程序员不仅需要深入理解技术,还需要理解企业的商业需求和管理思想。了解客户需求,沟通协作,管理项目,提供高质量的代码和解决方案,可以让你在职业生涯中迅速成长,获得更多的机会和高薪回报。 5. 加强个人品牌和社交网络:建立自己的个人品牌和社交网络可以帮助Java程序员提高自己的知名度和影响力。参与技术社区和开源项目,分享自己的经验和见解,积极与其他程序员和专业人士交流,可以扩展自己的人脉和资源,提高职业发展的机会和收入。 ### 回答2: 要成为一位年薪百万的Java程序员,需要具备以下几个关键要素。 第一,拥有深厚的技术功底。作为Java程序员,需要熟练掌握Java语言及相关开发框架和工具,并不断保持学习和自我提升。可以通过参加培训课程、学习相关书籍和教程、参与开源项目等方式来提升自己的技术水平。 第二,具备丰富的项目经验。通过参与各类项目的开发,积累项目经验和技术实战经验,能够独立完成中大型项目的设计、开发和测试工作。同时,要注重自己的项目管理和协作能力,能够在团队合作中发挥重要作用。 第三,注重个人品牌和市场认可度。建立个人技术博客、开源项目、Github等个人品牌平台,分享自己的技术经验和见解,积极参与技术论坛和社区活动,扩大自己的影响力和知名度。同时,获得一些相关的认证证书,如Oracle Java专业认证等,也有助于提升自己在就业市场中的竞争力和薪资水平。 第四,寻找合适的就业机会和市场需求。关注行业动态和就业市场,选择有潜力和发展前景的公司和行业,积极了解和学习相关的前沿技术和趋势,提前做好职场规划和职业发展规划。同时,要有良好的沟通和谈判技巧,能够在面试和谈薪阶段充分展示自己的能力和价值,争取到更好的任职和薪资待遇。 总之,成为一位年薪百万的Java程序员需要不断学习和提升个人能力,积累丰富的项目经验,建立个人品牌和市场认可度,同时寻找合适的就业机会和市场需求。这些努力和准备都可以为未来的职业发展带来更好的机会和回报。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值