【小云杂谈】资源占用率高还是低好?做性能测试99%都会犯错的概念

举报
Tom forever 发表于 2020/02/09 11:04:16 2020/02/09
【摘要】 什么是性能测试?在一定负载下获得相应时间、吞吐量、资源利用率,验证系统是否满足性能需求。什么是好的性能?低响应时间、高吞吐量、低资源利用率。上面两个概念基本上应该是所有对性能测试有些概念的朋友都清楚的,但是在后一个概念里面有一个点基本上大家都会犯错。什么叫做低资源利用率?大家普遍的理解无非是当前系统的资源占用率越低越好,但是这个理解有一个概念上的偏差。所谓的低资源利用率是指在一个单位基数下的...

什么是性能测试?

在一定负载下获得相应时间、吞吐量、资源利用率,验证系统是否满足性能需求。

什么是好的性能?

低响应时间、高吞吐量、低资源利用率。

上面两个概念基本上应该是所有对性能测试有些概念的朋友都清楚的,但是在后一个概念里面有一个点基本上大家都会犯错。

什么叫做低资源利用率?

大家普遍的理解无非是当前系统的资源占用率越低越好,但是这个理解有一个概念上的偏差。所谓的低资源利用率是指在一个单位基数下的概念,例如100ms响应时间,500TPS并发的基数下,如果资源利用率越低,则说明系统越好。

而今天我要讲的是,资源不使用就是浪费,就是可耻!

我们要做高资源利用率!让系统在高资源占用情况下工作,而不是在低资源利用率下工作。

以前我们总是在用时间换空间,现在?资源绰绰有余,我们应该考虑如何用空间换时间了。

对内存体系熟悉的朋友应该知道,当前系统的内存管理体系和以前是不同的,我们并不会当一个进程关闭后就释放其使用过的内存,而将其标记为备用,当新建一个进程的时候,会先去尝试使用可用内存,在可用内存不足时再去从备用内存中释放。

这就是典型的提高资源利用率的做法,一个系统的性能好坏不光是简单的三大指标,而是如何在可控的范围内竟可能发挥所有剩余资源来将业务更好的完成。

从业务角度的做法就是化整为零,例如原本需要好几个小时的报表,利用资源空余的时间分段处理;杀毒扫描安排在系统空闲的时候;持续集成及性能测试安排在凌晨用户使用较少的时候;下载软件通过QOS来利用空余带宽而不影响基本视频和游戏应用。

这些东西都利用了高资源利用率。

从技术角度的做法就是多线程,多进程,多实例化。一个进程如果不能使用足够多的资源,那么就做多线程;多线程不行了,就上多个进程;多个进程不行了就上多个实例;多个实例不行就上多个虚拟化甚至多个主机。

这些东西也利用了高资源利用率。

如果我有一个小的房子,为了让房间整洁,我必须不断的打包,解包来将生活用品整理起来,并且非常完美的存储在各种储物柜中,确保空间的完美使用。但是当我有很大的房子的时候,为什么不把东西都放开,让查找和使用它们更加方便呢?所以平衡点在于根据整个存储空间资源的情况来合理把握如何打包和存放。

不要再炫耀当前系统性能怎么好,资源占用率怎么低了!如果这样浪费资源其实也是性能测试做的不好的证据!

提高资源占用率,复用资源, 挖掘系统潜能,平整波峰, 这才是性能测试团队奋斗的目标。

全栈测试聚集地@云层天咨 测试学习 | 测试交流 | 测试招聘

本文转载自异步社区

文链接:https://www.epubit.com/articleDetails?id=NC7E3EF91C0D0000199731EB01A501DE2


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。