2.2.3 不同的部署模式

最终用户是从哪里访问应用程序的?如果所有人都处于局域网上(LAN),那么您的负载生成器可以完全基于局域网。然而,如果有些用户是通过广域网访问的(WAN),那么您需要考虑他们当前的网络状况。主要包括以下几点。

可用带宽

在现在的网络环境部署中,一个典型的局域网提供最小100Mb/s;许多局域网达到了1 000Mb/s甚至10 000Mb/s的带宽。可是,广域网的用户就没有那么幸运了,他们可能只有256Kb/s。在低带宽的情况下展现大数据量,一般都不会有好的性能,所以这必须作为性能测试模式的考虑因素之一。

网络反应时间

这里的“反应时间”可以将其看作延时。在大多数局域网条件下,很少有或几乎没有延迟,但是广域网用户就要经常面对较高的延迟情况,这会很明显地影响到应用程序的性能。

应用程序的设计会对“局域网友好”的程度起着主要影响。在我经历过的很多项目中,那些应用程序在局域网上都跑得飞快,但在广域网上却慢得跟爬似的。不同的部署模式将关系到如何设计性能测试环境。

有许多工具可以让您在不同的网络环境下设计应用程序性能模型。如果应用程序大量的用户都是在局域网上的,那么我建议您考虑使用这些工具。通常它们允许您针对一个已录制的应用业务脚本,根据它的实现流量去改变它的带宽,延迟以及网络阻塞等情况。从而可以让您准确地重现最终用户通过一般的ADSL连接的访问的情况。

您可能还希望在性能测试设计里能够涵盖基于广域网的那些用户,有很多方法可以做到这一点。

修改事务回放

即使测试是在局域网环境下执行的,有些性能测试工具也可以让您模拟广域网的回放,它们通过修改指定事务的回放属性来减少可用的带宽——或者说,降低执行的频率。以我的经验来看,不同的自动化工具厂商所提供的这一特性有着很大的差异,所以您应当确保它们所提供的精确性是否与您的需求相吻合。

来自广域网的负载生成器

毫无疑问,这种方法是最符合实际的方法,然而在测试环境中往往做不到这一点。在您执行性能测试的同时,您需要将负载生成器部署在广域网上,并且通过广域网连接、模拟所需的用户数量。

网络模拟

有一些产品可以让您从网络角度模拟广域网(WAN)的情景。其本质是通过一个设备接入您的测试网络,从而产生一定程度的网络效果,包括减少带宽。