南京索引科技有限...吧 关注:23贴子:134
  • 0回复贴,共1

如何确定系统的性能需求(二)

只看楼主收藏回复

在进行系统性能测试之前,一定要清楚地知道系统的性能需求。当然,不能过于简单或过于模糊地描述性能需求,例如,“系统性能好、反应速度快”这样地描述非常含糊。系统性能的需求必须通过具体数据进行量化,如系统在3s内做出响应、系统在1分钟内能接受500个请求等,这样的性能需求描述就会清楚些,这就是人们经常所说的性能指标。性能指标一旦量化,就可以度量,才具备可测试性。一般的性能验证测试,需要明确而量化的性能指标。如果我们开发的是一个全新的应用系统,无法确定具体的性能指标,可以通过前面说的“基准测试”获取性能指标数据,也可以从业务、用户体验来定义性能指标数据。
一组清晰定义的预期值是性能测试的基本要素,如果不能获得有意义的、准确的性能指标预期值,将无法验证系统是否满足性能要求。如何定义系统的性能指标呢?一般可以从最终用户、业务、技术和标准等某个方面获得足够的信息和数据,然后定义所需要的性能指标。
最终用户的体验,例如当用户能够在2s内得到响应时,会感觉系统速度很快;在2s和5s之间得到响应时,用户感觉系统的响应速度还不错;在5s和10s之间得到响应时,用户会感觉系统的响应速度慢,但还可以接受;而超过10s后仍然无法得到响应时,用户感觉不好,不能接受。
商业需求。一个基本的商业需求就是软件产品的性能“比竞争对手的产品好,至少不比它的差”。从这个需求出发,了解竞争对手产品的处理能力、等待时间、响应速度、容量,从而定义自的性能指标预期己产品的相应值。如果从经济成本考虑,性能只要比竞品高10%—30%就可以,不用高得太多,除非竞品的性能很差。
技术需求。从技术角度看系统的性能,例如,当服务器CPU使用率达到80%时,客户端的请求就不能及时处理,需要排队等待,自然会影响用户的体验。所以,从技术角度看,需要定义一个性能指标,即CPU使用率不超过70%。
标准要求。有些国家标准或行业标准定义了某些类别的软件的性能指标,相应的软件须遵守这些标准。
依据上述4个方面的需求,经过综合分析,可确定一个软件系统所必须满足的性能指标。要给出可度量、清晰的性能指标,一般通过以下几个方面去确定具体数据项的值。
时间上的体现,如客户端连接时间、系统的响应时间、单笔业务的处理时间、页面下载时间等。
容量,系统正常工作时所能承受的最大负载等,如访问系统的最大并发在线用户数、数据库系统中最大记录数、一个远程会议系统可以接受的最多与会人数等。这里强调正常工作时的负载量,不是指在无法正常运行或运行速度低于客户预期时的最大负载,那种情况下的最大负载没有多大意义。
数据吞吐量,系统单位时间内处理的数据量,如每秒处理的请求数、每分钟打卡的页面数、每秒传递的数据包量等。
系统资源占用率,例如内存占用必须少于50M,CPU不能超过70%等。
正所谓响应时间是用户的关注点,容量和数据吞吐量是业务处理方面的关注点,而系统资源占有率是开发团队的技术关注点。例如,针对Web应用系统,可以根据系统的在线用户数、数据吞吐量和响应时间等来定义系统性能指标,具体描述如下。
1000个在线用户按正常操作速度访问网上购物系统的下订单功能,下订单交易的成功率是100%,而且90%的下订单请求响应时间不大于5s;当并发在线用户数达到1万个以上时,下订单交易的成功率大于98%,其中90%的在线用户的请求响应时间不大于用户的最大容忍时间30s。


1楼2022-08-16 11:18回复