关于影响软件系统性能的因素总结

Hi, 我是摩羯城&芦公子~~php

要作好性能测试,首先我想必需要了解影响性能的几个因素。算法

参阅了各类资料,关于性能方面有太多的学问。我想作个小的总结。数据库

从程序设计,时间上来讲,分为数据传输时间,数据存储时间和数据处理时间。浏览器

 所以,针对时间上的,咱们能够考虑如下的方法来提升性能:缓存

  1)下降算法自己的复杂性【好比,将复杂对象转化为聚合关系:将一个复杂类拆分红由两个或两个以上的类经过聚合关系造成的新类】;服务器

  2)传输时间:若是不一样处理器之间的数据传输成为影响性能的主要瓶颈,则应从新审查对象在不一样处理器上的分布问题。调整的目标,一是减小不一样处理器之间数据的传输量, 二是缩短数据传输的路径;网络

  3)存取时间:若是系统执行某些功能时,须要大量地频繁地访问外部存储设备,那么在面向对象设计方法中能够在内存空间中设计一个缓存空间,这样那些常常被使用的数据就会有较多的机会存储于缓存空间当中;并发

  4)处理时间:对象的封装性致使对象的属性不能被另外一个对象的服务直接访问,只能经过消息传递来完成。若存在这样一些消息传递频繁的类,就能够采用合并方法将其合并为一个类;另外能够在程序设计中,增长一些属性来减小重复计算量。app

 从系统性能几个指标上来看,包括:响应时间、吞吐量、用户并发数、资源利用率性能

  1)响应时间:指系统对用户请求做出响应的时间。

    从用户的角度,响应时间=呈现时间+系统响应时间。呈现时间也就是客户端的浏览器在接收到网站发来的数据时呈现页面所需的时间。系统响应时间就是客户端提出用户    请求到客户端接收到服务器发来的数据所需的时间。显然,咱们测试一个系统软件性能时,呈现时间是与客户端自己硬件条件和浏览器有关,咱们更关心的是系统响应时间。

    那么咱们如今就来看看系统响应时间。能够这样看,系统响应时间=应用服务器处理时间+数据库服务器处理时间+网络数据传输时间。

    这样分析下来,咱们就能很清晰地看出影响响应时间的几个主要因素了。

  2)吞吐量:指的是系统在单位时间内处理请求的数量。

    对于单用户的系统而言,响应时间能够很好地度量系统的性能,但对于并发系统,吞吐量常最为比较好的性能指标。系统的吞吐量越大,说明系统在单位时间内完成的用户   或系统请求越多, 系统的资源获得充分利用。

    吞吐量=并发数/平均响应时间

  3)并发用户数:指系统能够同时承载的正常使用系统功能的用户的数量。

    并发用户数经常使用来度量服务器并发容量和同步协调能力。这个指标是看系统运行期间同一时刻进行业务操做的用户数量。该数量取决于用户操做习惯、业务操做间隔和单笔  交易的响应时间。使用频率较低的应用系统并发用户数通常为在线用户数的5%左右。使用频率较高的应用系统并发用户数通常为在线用户数的10%左右。

    对于网站系统,会有三个关于用户数的统计数字:注册用户数、在线用户数和同时发请求用户数。咱们关注的通常是后两个数字。

  4)资源利用率:反映的是在一段时间内资源平均被占用的状况

    对于数量为1的资源,资源利用率能够表示为被占用的时间与整段时间的比值;

    对于数量大于1的资源,资源利用率能够表示为在该段时间内平均被占用的资源数与总资源数的比值。

    常见的系统资源包括:CPU、内存、磁盘、网络等等。

 

  先总结这么多,后面还会继续更新。

  Feel free to tell me if you have any questions and suggestions.

  我是摩羯城&芦公子~~

相关文章
相关标签/搜索