Dorado 5 : 2.1确定设计目标 (RF4)

在开始着手规划应用之前,首先应该了解一下应用最终的运行环境。系统的最终响应时间往往是这样构成的:服务端处理的耗时 + 网络传输的耗时 + 客户端处理的耗时。因此,影响响应时间的关键因此应该包括以下6点。

  • 用户对系统响应速度的敏感程度

不同的用户对于系统响应时间的忍耐极限是不同的,甚至是在同一个系统中用于对不同功能的忍耐极限也是不一样的。这主要跟用户是否需要频繁的使用某功能相关。对于那些不常用的界面,例如每月才操作一次的报表或查询类界面而言,用户完全可以为它等上半分钟而没有任何怨言;可是对于那些每天要点击上百次的提交按钮,即使是3秒钟的延时他也无法忍受。
开发人员需要根据与用户的交流和自己的经验来确定那些常用功能的最大响应时间,这一点甚至应该写进需求设计文档,强迫开发人员在开发时对各个功能点的响应时间进行基本的测试。尽管在开发阶段得到的测试结果很有可能跟最终应用上线时的结果存在差异,但这样做仍可以避免相当一部分性能问题的出现,特别是那些由客户端导致的性能问题。

  • 在线用户数量

需要掌握将来有多少用户可能同时在线使用系统、某些最常用的功能有多少在线用户。在分析网络因素对响应速度的影响时,在线用户的数量是一个非常关键的指标。同时,在线用户数量对于将来的如何进行压力测试也有着指标性的意义。
在进行性能测试时我们常常会提到一个并发用户数的概念,需要特别注意的是并发用户与在线用户是完全不同的概念。一般而言,我们习惯以20-50的比率来推算并发用户与在线用户之间的关系。例如:当系统存在2000个在线用户时,测试时可以以40-100个并发用户作为测试基准。

  • 网络状况

了解服务器与客户机之间的网络带宽、带宽的分配方式、各服务器之间的连接状况。一般而言,我们需要结合在线用户数量来做一个综合的分析,以此推测出单个用户可使用的实际带宽。
有时,我们很难通过主观判断来确定用户实际享用的网络带宽,或者即使我们通过分析得到了一个数值,它也有可能与实际情况有所差异。那么这时利用专业的网络监视工具来进行测试才是更加务实的做法。
可选择的工具有:
BySoft Network Monitor 这是一个完全免费但有点简陋的小工具,可以用于检测网络实际带宽、上行和下行的流量等。

图表 1BySoft Network Monitor
BWMeter(http://www.desksoft.com/) 是一个非常专业的网络监视分析工具。利用BWMeter可以完成很多有关网络带宽的测试和分析。我们甚至可以用它来限制网络带宽,以便测试在低带宽下应用的响应速度。

图表 2BWMeter

  • 客户端的硬件配置

此处的客户端的硬件配置注意是指客户机的CPU。与传统的BS应用不同,基于Dorado的应用的界面响应速度与客户机的CPU运算能力有着直接的关系。由于浏览器中的主要运算量来自于解析HTML/XML以及执行JavaScript,并且一般而言,浏览器本身所耗用的内存不会超过100M,因此界面响应速度与客户机的内存和硬盘等的配置基本无关。
CPU的运算速度与界面响应速度(特指纯客户端运算)之间是线性相关的。按照推测,P4 1.8的系统的处理时间基本是P4 3.6系统的一倍。

  • 服务器的硬件配置

服务器的运算能力和IO吞吐量可能直接影响到应用系统最终的响应速度和最大并发量。不过一般而言,服务器的运算能力不是影响表现层响应速度的最关键因素。

  • 客户端的软件配置

这里主要是指浏览器的版本和种类。目前主流的浏览器大都只有IE和Mozilla两种核心,其中IE又占有绝大部分的市场份额。想常见的MyIE、Mathon、GreenBrowser、腾讯等都是以IE作为核心的。而FireFox、NetScape是以Mozilla作为核心的。这些浏览器的性能各不相同,主要由使用的核心决定。以IE7的核心为参照依据,假设一个Dorado网页在IE7中打开需耗时1秒(此处不考虑网络传输的时间)。他们之间的性能对比情况大致如下:

浏览器核心

耗时(秒)

IE 7

1.0

Mozilla

1.4

IE 6

1.6

由此可见,最新推出的IE7有着较明显的性能优势,特别是相对与IE6而言。
另外,在目前的网络环境中各种浏览器插件、工具栏、流氓软件也是一个不个忽略的因素。在大部分的客户机系统中或多或少的都会安装一些插件。这些插件的品质良莠不齐,有些会导致浏览器的运行速度极具低下,甚至一些带有JavaScript拦截功能的插件还会阻止Dorado页面的正常运行。对于这一点,我们目前还没有有效的解决办法,因为有些流氓软件像病毒一样难以卸载,有时可能不得不重新安装系统才能让浏览器恢复工作。
或许随着像瑞星卡卡之类的"流氓软件查杀工具"的逐渐成熟,此问题会逐步得到缓解。