性能测试实战30讲
高楼
前HP高级性能专家,7DGroup创始人
立即订阅
2462 人已学习
课程目录
已更新 4 讲 / 共 30 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词丨“老板,之前咱TPS是100,我优化完是10000”
免费
第一模块:性能测试基础篇 (3讲)
01丨性能综述:性能测试的概念到底是什么?
02丨性能综述:TPS和响应时间之间是什么关系?
03丨性能综述:怎么理解TPS、QPS、RT、吞吐量这些性能指标?
性能测试实战30讲
登录|注册

01丨性能综述:性能测试的概念到底是什么?

高楼 2019-12-16
在性能测试行业中,长久以来,都存在几个关键的概念误差。在我从业性能测试十几年的经历中,也看到过书籍或网上传播着各种性能测试的概念、方法论等,但是究其本质,再对应到具体的项目工作中,我发现这些概念以及方法论实在没有指导的价值,并且有些概念的产出,也没有确凿的证据来源。
所以在今天,专栏正式更新的第一天,我希望能把这些内容做些梳理,同时这些梳理的内容也会对应到后续的篇幅之中,以便保持理念的一致性。

性能测试概念

我们经常看到的性能测试概念,有人或称之为性能策略,或称之为性能方法,或称之为性能场景分类,大概可以看到性能测试、负载测试、压力测试、强度测试等一堆专有名词的解释。
针对这些概念,我不知道你看到的时候会不会像我的感觉一样:乱!一个小小的性能测试,就延伸出了这么多的概念,并且概念之间的界限又非常模糊。
就拿“压力测试”、“容量测试”和“极限测试”这三个概念来说吧。
网上针对这三个名词的解释是这样的:
压力测试
压力测试是评估系统处于或超过预期负载时系统的运行情况。压力测试的关注点在于系统在峰值负载或超出最大载荷情况下的处理能力。在压力级别逐渐增加时,系统性能应该按照预期缓慢下降,但是不应该崩溃。压力测试还可以发现系统崩溃的临界点,从而发现系统中的薄弱环节。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《性能测试实战30讲》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(16)

  • @zzw
    第一个问题:
    在博弈论中,有如下两个概念:
    - 共有知识:每个人都知道的信息,只是共同知识的第一个层次
    - 共同知识(common knowledge):不但是每个人都知道的信息,而且每个人都知道别人也知道该信息。而且每个人都知道别人也知道其他人知道该信息。如有 A、B、C 三人:

    第一个层次,A、B、C 三人都知道某一知识;
    第二个层次,A 知道 B、C 也知道该知识,A 不确定 B、C 知道 A 已经知道 B、C 知道该知识了
    第三个层次,每个人都知道别人也知道其他人也知道该信息;
    此二者,差之毫厘,谬以千里。

    安徒生童话里《皇帝的新衣》就是一个经典的例子。皇帝没穿衣服是“共有知识”,但不是“共同知识”。在小孩戳破之前,每个人都知道皇帝是裸着的,然而他们不知道别人看见的也是一个裸体的皇帝。因此,他们不愿承认自己属于看不见皇帝新衣的笨人。这个荒唐的骗局也是因此才持续了好一段时间。

    第二个问题:
    从方法论角度:没有数据,你就无法度量它。
    从现状角度:很多企业已转向修炼内功,开始注重内部效率的提升。而数据则是这项内功最核心的部分,向内寻找答案,通过数据的力量驱动增长。性能数据也一样。
    从生活角度:就像“医生”一样,需要懂得多方面的知识才能为“病患”确诊“病因”。医生遇到病人,会“望闻问切”,利用 X 光等手段做各种分析。根据病人的表象和分析的数据,医生会做出诊断,确定是什么病。然后会开药方或者给予治疗。病人服药或者接受治疗后,会再次进行复检,来确定治疗效果。对待性能问题也是如此

    作者回复: 说的非常好。你也可以到极客时间里开个专栏了哦。

    2019-12-16
    2
    10
  • Middleware
    老师的音频讲的太好了

    作者回复: 多谢支持。等我后面嗓子能出声了,争取讲的更好。

    2019-12-17
    1
    1
  • 李公子
    第一,概念容易让人陷入概念的债务,它们只是停留在性能指标的验证上;
    第二,监控和分析,性能测试,建立在指标和数据的变化之上,根据这些指标,你能找系统的某个零部件来进行调优。

    作者回复: 说的很好。和我的理念一致。

    2019-12-17
    1
  • Sam
    原来路子:录脚本--执行--结果告诉开发--再执行--完毕,这次系统学习,告别三脚猫要练真功夫

    作者回复: 一起努力,让性能更有钱途!

    2019-12-18
  • 月半虫工🍧
    因为没有性能测试的实际经验,所以有些理论还是不能很好的理解,希望学完后面的课程再回顾会有更好的理解,下面是我在幕布做的笔记:https://mubu.com/doc/n4GQnq6FsZ

    作者回复: 做笔记是好习惯。

    2019-12-18
  • KD
    对我这种非科班的,要做好性能分析与调优,需要学点什么计算机基础课程?求指导

    作者回复: 像语言、os、网络、数据库、存储、队列服务器、中间件服务器、缓存服务器、负载均衡等等的逻辑,都是需要知道的。

    2019-12-18
  • qqq
    在稳定性测试中,显然最核心的元素是时间(业务模型已经在容量场景中确定了),而时间的设置应该来自于运维周期,而不是来自于老板、产品和架构等这些人的心理安全感。
    ——
    高老师,我对"老板、产品和架构这些人的心理安全感"这句话不太理解,这些所谓的”心理安全感“会对稳定性有影响吗?

    作者回复: 就是他们自己拍脑袋给一个时间,认为如果稳定性测试满足这样的时间长度,就觉得系统是安全的。

    2019-12-18
  • 心之迷雾
    问题1的三个概念确实让人很头疼,一直有种感觉理解了,其实没理解,做起来项目来没有任何指导价值!问题2 没有监控分析的性能测试等于没测,没有产出,另外不是所有人都有性能调优的能力,很多只能是牛逼的开发去做,就没有跟他们沟通的基础,你不能只跟开发说,好慢啊,卡死了等等

    作者回复: 看这描述是完全理解了我的理念。
    性能监控分析优化部分,不需要一个人全都会,性能团队(甚至可以是虚拟性能团队)能做就可以了。开发可以拉进来分析,但是性能工程师需要可以跟其他团队的技术人员正面对话。

    2019-12-18
  • 迪森
    表达的很专业,让我们这种只会性能验证的选手受益匪浅,期待后续课程大佬继续给力
    2019-12-17
  • 土耳其小土豆
    来来来、把系统压死,太形象了😂

    作者回复: 是不是你经历过的工作状态之一?哈哈。

    2019-12-17
    1
  • IT媚娘
    1. 这些词在概念上类似,找不出明显的区别,对于性能测试的场景设计没有指导意义
    2. 应用程序是运行在操作系统之上,应用程序是有架构的,在性能测试中要想找到瓶颈,就要实时监控数据。如操作系统 中间件,观察变化趋势并且分析,才能找出性能瓶颈

    作者回复: 你已得到真传。哈。

    2019-12-17
  • LensAclrtn
    第一个问题:就像老师说的,很多概念能抹平沟通中的误解,而这几个概念恰恰很容易让人误解而且每个人的理解都不一样。
    第二个问题:性能测试只有加入了分析监控才能形成一个良好的闭环

    作者回复: 说的对。没有监控分析优化,性能测试的价值是无法衡量的。

    2019-12-17
  • Bi
    第一个问题:这三个不够精确,不能指导测试
    第二个问题:简单点说做事要有反馈,没有监控和分析,没法修正测试方向,方向错了,也就得不到好结果。

    作者回复: 非常对。多交流。

    2019-12-17
  • 十八
    这三个名词,容易造成混乱,理解不清晰,从另一个当年,它不能体现测试的具体使用方法

    作者回复: 对的。概念是为了指导落地的,不然价值就没有了。

    2019-12-17
  • 旺旺
    因为性能测试、负载测试、容量测试这样的词来听起来都是很强调最后的测试执行过程,其实在这之前还有很多的准备以及后面的分析总结环节,所以这些词都不准确。

    作者回复: 理解的很对。我要表达的就是这样的理念。

    2019-12-16
  • Geek_2dfa32
    性能测试之所有要有监控和分析是因为性能测试本身不仅仅是测试出性能问题,还有解决性能问题,以及优化系统的性能,所以需要到监控和分析

    作者回复: 是的。没有监控分析优化,性能测试就没有多大价值,最多就是个性能验证。

    2019-12-16
收起评论
16
返回
顶部