我们常常提及性能,却不清楚具体的性能指标有哪些。我们知道性能指标的存在,但却不知道什么样的性能才算是合理的。
我们经常遇到一些棘手的问题,例如:什么样的Key才算是大Key?什么样的Key才算是热Key?什么样的性能才算是强?QPS多少才算是高?RT多短才算是短?热Key有多热才算是真的热?MySQL的并发性能应该达到多少?MySQL的TPS受到哪些因素的影响?对于这些话题,我们发现自己对于好的性能标准毫无概念 ,就像上次提到的ESSD 100w ioPS,我们完全无法理解其含义 。
总的来说,我们缺乏对性能的直观感受,无法对自己的系统性能进行合理评估,也无法确定问题的根源所在。在进行性能优化和压测时,我们缺乏明确的优化目标和压测目标。优化和压测并不仅仅意味着进行一次性的改进,更重要的是达到明确的目标。然而,由于对自己系统的性能没有清晰的认知,我们往往缺乏明确的优化目标。只有在性能不佳时才进行泛泛的优化,缺乏系统性和长期性的优化策略。
这就是我写这篇博客的初衷,希望能够帮助读者深入了解性能指标,明确什么样的性能才算是好的,以及如何设定优化目标和压测目标。通过对高性能中间件的真实情况进行探讨,如Redis、Netty、Nginx、Kafka等,我将介绍它们在官网上宣传的性能表现以及实现高性能的原因与原理。通过这些内容,希望能够帮助读者建立对性能的直观感受,从而能够更好地评估自己系统的性能,并确定优化和压测的目标。
在评估和优化业务系统的性能时,以下指标是至关重要的:
这些指标在体现系统应用性能方面都非常重要。通过监测和分析这些指标,我们可以了解系统的性能状况,找出潜在的性能问题,并采取相应的优化措施。优化这些指标将有助于提升用户体验、降低错误率、增加系统的稳定性和可靠性,从而提升业务系统的整体性能。
关于应用程序指标中JVM的吞吐、延时和内存占用的解释:
第一章:业务系统指标