写点什么

如何定义性能需求

  • 2015-02-03
  • 本文字数:1000 字

    阅读完需:约 3 分钟

JVM 监控解决方案提供商 Plumbr 的官方博客上发表了一篇题为《如何定义性能需求》的文章。文章指出,随着企业信息化程度的提高,业务人员对软件功能性需求的描述越来越好。但涉及到易用性、兼容性或性能等非功能性需求的时候,他们经常会不得要领。比如,他们可能会提出“它的运行速度要快”这样的性能需求。在更好的情况下,他们可能会提出下面这样的性能需求:

  • 在系统中执行的操作,95% 的都必须在 5 秒针内响应;
  • 系统必须支持 100 并发用户。

初看上去,这样的需求已经好了很多了。但实际上,它们甚至比只用一个“快”字描述更差。虽然它们包含了一些数字,看上去似乎可以作为开发人员的终极目标。但实际上,这两个需求最多只能为关于性能需求的讨论开一个头。

文章接下来对上述两个需求进行了剖析。

第一个需求没有提出针对其它 5% 的操作的性能需求。而且,不同的功能对性能的需求也不尽相同。比如,对于功能“显示当前账户余额”和“显示 2013 年所有的交易”,前者 5 秒响应可能都略显慢,而后者响应时间再长一些也可以接受。因此,性能需求描述应该:

  • 针对不同的操作类型指定可接受的时间延迟;
  • 将时间延迟相关的需求与负载 / 吞吐量相关的需求联系起来;
  • 明确时间延迟的测量位置,比如,延迟时间是以客户端为标准,还是以服务器端发送出最后一个字节为标准;
  • 哪些操作的时间延迟不太要紧。

第二个需求看上去很准确,实际上很笼统。比如,将“100 个并发用户”理解成“100 个线程处理 100 个并发操作”。如果每个操作用时 1 秒,那么系统吞吐量为 100 ops/sec;但如果每个操作用时 10 秒,那么系统吞吐量则只有 10 ops/sec。对于后一种情况,我们不能认为它满足“100 个并发用户”的需求。因此,需求应该更清楚地描述特定用户的行为,而不是用“并发用户”这样的术语。当然,这里并不是说建议测量吞吐量,因为现实世界的应用程序往往是多功能的,很难使用吞吐量来衡量其性能。

本文还提到了容量规划,即在什么样的前提条件下实现上述性能需求,包括如下三个方面:

  • 系统的数据量;
  • 系统的基础设施限制,比如,CPU、内存等;
  • 系统的部署环境,比如,网络带宽是多少,是否需要离线操作等。

总之,应该与业务人员紧密合作,制定出可测量的、具体的性能需求。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2015-02-03 07:339054
用户头像

发布了 1008 篇内容, 共 388.0 次阅读, 收获喜欢 344 次。

关注

评论

发布
暂无评论
发现更多内容

如何拉取多架构镜像存储到私有库

许大强

多架构镜像如何制作

许大强

海外住宅IP代理如何去判断?

Geek_bf375d

爬虫 IP 代理IP 免费代理ip 跨境电商

罗拉rola-ip海外IP能在哪找?

Geek_bf375d

爬虫 代理IP 代理IP设置 免费代理ip 跨境电商

深入理解 SQL UNION 运算符及其应用场景

小万哥

MySQL 数据库 程序员 sql 后端开发

一款多功能露营专用氛围灯

芯动大师

简单上云第一步的华为云服务器,助力中小企业提升业务

平平无奇爱好科技

集结!Milvus 老友汇 · 线下 Meetup 来袭

Zilliz

Meetup Milvus Zilliz AIGC KubeBlocks

发生死锁了怎么办

zurhan

倒计时 5 天,您有一份 2023 IoTDB 用户大会参会指南请注意查收!

Apache IoTDB

CountDownLatch和CyclicBarrier:如何让多线程步调一致

zurhan

平凯星辰携手教育部教育管理信息中心,助力普惠教育数字化

PingCAP

MySQL 教育 数字化 TiDB

华为云耀云服务器L实例,助力初创及成长型企业实现高效数字化转型

平平无奇爱好科技

海外原生IP代理有哪几种获取方式?

Geek_bf375d

爬虫 IP 代理IP 代理IP设置 跨境电商

INFINI Gateway 与华为鲲鹏完成产品兼容互认证

极限实验室

Gateway 极限科技 华为鲲鹏认证

万媒易发:以RPA自动化和AIGC为基础实现多平台分发

爱写字的阿城

自动化

稳定高效选择,华为云耀云服务器L实例助力云端创新

平平无奇爱好科技

云游戏迎来新时代,华为云轻应用服务器引领数字化创新

YG科技

华为云耀云服务器L实例多重防护助力企业放心上云

YG科技

Java 内存的可见性与有序性

zurhan

工作室用代理ROLA-IP能防止封号吗?

Geek_bf375d

全球互联网是怎么形成的

Link

引领小程序与网站开发新潮流,华为云耀云服务器L实例轻松搭建

平平无奇爱好科技

高性能云计算,华为云服务器行业遥遥领先

平平无奇爱好科技

海外IP能在哪找?

Geek_bf375d

爬虫 IP 代理IP 免费代理ip 跨境电商

Semaphore:实现一个限流器

zurhan

TiDB 在咪咕云原生场景下的实践

PingCAP

MySQL 数据库 TiDB 用户实践

并发容器的使用:识别不同场景下最优容器

zurhan

华为云三重优惠!云耀L实例轻松应对挑战,助您企业更高效上云

YG科技

活动报名|KubeBlocks × Milvus「AI 时代背景下的云原生数据库」主题 Meetup

小猿姐

平凯星辰 TiDB 获评 “2023 中国金融科技守正创新扬帆计划” 十佳优秀实践奖

PingCAP

数据库 TiDB 金融业

如何定义性能需求_JVM_谢丽_InfoQ精选文章