影响软件性能的两个重要参数

来源:互联网 发布:加大usb口电流软件 编辑:程序博客网 时间:2024/04/29 22:36

有时候讲软件性能,其实只是在讲软件运行速度的快慢和处理事物的多少?这两点都落在一个“速度”上。两个很重要的概念是:

• 响应时间(response time) – 系统响应请求的时间

• 吞吐量(throughput) – 在一定时间内系统处理事物的多少

 

“响应时间”就是系统响应请求的时间。用另外一种方式解释,即,它用了多久完成你告诉它做的事情。对于那些需要人们坐在电脑前与其交互的软件来说,参数“响应时间”非常重要,例如网络应用程序eBay。往往“响应时间”的计量单位以秒来计算。

 

“吞吐量”是指在一定时间内系统处理事物的多少 – 例如我们mp3软件一分钟可以从CD里面编码6首歌曲,那么我的mp3的系统响应时间便是“6首歌每分钟”。在那些需要处理大量数据的的软件,吞吐量很是重要,例如电力公司要为几百万的用户生成用电订单。吞吐量对于有很多用户交互的软件来说也至关重要,例如Ebay的服务器每分钟可以处理多少个网页。

 

通常来说,“响应时间”和“吞吐量”之间并不是独立的。如果你研发软件的话,你会经常在你的架构选择中把一个当成另外一个来处理。通常你选择的时间经常会很大程度的增加吞吐量,但是响应时间却只是增加一点点(典型的例子就是你使用请求序列的时候)。这种情况你可以说“软件的性能更好了,因为它可以处理更多的工作?或者说性能变差了因为它反应变慢了?”两种说法都是对的,所以当你谈论性能的时候,只是说“速度”有时候会引起困惑,你必须提及两个概念“响应时间”和“吞吐量”。

 

对于“响应时间”和“吞吐量”的另外一个相对立的方面就是“谁会在意它?”。如果你在Ebay.com上买一个毛绒玩具,你不会在意ebay的服务器每分钟处理了多少个网页,你所在意的只是你请求的页面多久给你返回你所要的信息。相反,ebay管理层真正在意的却是没秒钟ebay的服务器可以处理1,000个网页还是10,000个,因为他们有成千上万的货物想让所有的人都可以下订单,他们想用可能的最少的服务器在可控的范围内去节省开支。

原创粉丝点击