负载测试是性能测试最重要的形式 之一。 其主要目的是了解系统在预期负载下的行为方式。 性能不佳的 Web 应用程序可能会损害您的业务、收入、转化率、跳出率和声誉。 了解业务最繁忙的时间或时间范围,在自动化整个过程的同时,为系统中的此类负载做准备可能非常麻烦。 为了满足为用户提供服务的非功能性要求,您的网站、应用程序、Web 服务或 API 在几秒钟内,对于提高转化率同时降低放弃率至关重要。 在大量并发用户下测试系统,并调查软件和硬件的临界点或瓶颈(CPU、内存分配或网络),为企业提供改进服务时间的见解。 负载测试并不总是需要在最低可行产品发布后开始。 如果在开发初期以模块或功能为基础开始,在启动之前,在降低风险方面,它有很多可提供的东西。

 

不同 Web 接口的负载测试

Pagespeed 或开发人员工具等工具可能会对网站针对特定请求的行为方式提供有限的了解。 LoadView平台是工具箱中一个极好的资产,用于了解存在瓶颈的地方,以便快速修复这些瓶颈。

 

加载测试网站

loadview 网站负载测试

此选项适用于为并发用户测试单个网页。 URL 字段是要加载测试的网页。 可以选择不同的浏览器类型(Chrome,Firefox,互联网浏览器桌面 + iOS,Android,Windows Phone 和黑莓手机)。

 

负载测试 Web 应用程序

在 Chrome 中执行一系列脚本操作的并发用户。 使用此选项,可以测试 Web 应用程序以创建预先录制的脚本,并馈送此脚本来加载测试应用程序。

负载视图加载测试 Web 应用程序

例如,可以使用预先录制的脚本轻松加载电子商务购物篮结帐功能。 您需要执行的步骤如下:

1) 输入起始 URL(主页、产品页面、搜索结果页等)

2) 用户设备类型(移动或桌面)

3.a) 如果是桌面设备,应选择浏览器类型(互联网浏览器,镶边)

3.b) 如果是移动设备,应选择设备类型(来自各种移动设备)

4) 记录分辨率(适用于移动设备类型、横向或纵向模式)

输入所有必需字段后,单击”现在录制”按钮将启动录制会话。 它浏览到起始 URL,并允许您与网站进行交互。 从现在开始,您可以模拟用户行为,例如从站点查找产品、将产品添加到购物篮以及继续结帐页面。

模拟所有所需步骤后, 单击”停止 “将暂停脚本。

负载视图录制已停止

您可以使用”继续录制”按钮继续录制脚本,也可以保存单击”正在播放”的脚本。 如屏幕截图所示,录制的脚本应至少播放一次,以检查保存前是否有错误。 播放录制脚本一次后,弹出窗口指示一切已到位,并且已成功播放保存为脚本的交互。 因此,我们可以继续保存它。

脚本录制设置已保存,现在我们可以移动到其他设备设置。

负载视图录制的脚本

在这里,您可以为您的设备配置各种附加设置。

加载视图设置

完成超时:如果脚本卡在执行计划的某个地方,则固定数量的完成超时将让您的脚本引发错误。

第一个错误时中止脚本:如果此选项设置为”是”,则脚本将在第一个错误时中止自身。 否则,它将重试它未能完成的步骤。

DNS 选项:使用此选项,您可以创建自定义域名 + IP 映射,这非常适合在开发中测试代码。

 

负载测试 API

与网站选项类似,有一个 URL 字段,您应该在其中输入要加载测试的 API 的终结点。 可以为协议选择 HTTP 或 HTTPS。

负载视图 apis

 

用于 API 负载测试的其他设备设置:

负载视图 apis 设备设置

 

1. 完成超时:如果请求需要超过输入的秒数,它将引发错误。

2. 请求类型: 所有 http 请求方法都可以测试 (GET, POST, PUT, PATCH, 删除, 头, 选项, 跟踪, 补丁)

3. SSL/证书检查.对于 HTTP 任务,有多个 SSL 选项可用:

3a.权威:根证书是否可信

3b. 通用名称 (CN):检查 URL 和证书通用名称是否匹配

3c. 日期:检查证书到期日期

3d. 吊销:检查 SSL 链是否具有吊销的证书。

3e.使用:检查是否有不当使用中间证书

3f. 客户端证书可以安装在监视代理上。

4. 内容验证:内容可以搜索特定关键字,如果未满足所需的规范,则配置为引发错误。 可以使用逻辑运算符将许多关键字分组在一起: [([关键字 1] 和关键字 2) {! }关键字3|

5. 基本身份验证:基于用户名和密码的身份验证

6. 标头:可以为 API 请求设置自定义标头。 (标题名称 = 值)

7. DNS 选项:使用 DNS 选项将自定义主机名分配给特定的 IP。

 

负载测试 SOAP 服务

使用此设备,您可以加载基于 XML 的测试 Web 服务。 存在类似的输入字段,如 REST API 设备。

URL:SOAP 服务的 URL。

SOAP操作:此字段可用于指示请求的意图。 空字符串””被翻译为 URI 给出 SOAP 消息的意图。 没有值转换为请求的意图。

基本身份验证:SOAP Web 服务的用户名和基于密码的身份验证。

标头:可以使用键值对发送自定义标头。

内容验证:可以使用关键字搜索内容。

DNS 选项

1. 设备缓存:设备缓存将用于 DNS 解析。 从上一个任务中检索此缓存信息。

2. 非缓存:每次执行将查询 DNS 服务器。

3. TTL 缓存:如果设备缓存缺少所需的地址,则使用本地 DNS 服务器。

4. 外部 DNS 服务器:给定的 IP 地址将被视为 DNS 服务器。

 

设置负载测试

LoadView 提供了三种不同的方法来设置系统将遇到的负载曲线。 这些不同的选项为各种复杂的用例提供了极大的自定义能力。

负载视图负载曲线

 

负载步进曲线

负载步进曲线非常适合测试原始用户数量。 您可以增加、减少或保留多个用户所需的分钟数。

基于目标的曲线

基于目标的曲线有助于设置达到每分钟事务/目标量的用户数,而不是设置预定的并发用户数。 这些交易可以是潜在顾客生成、购物篮订单、注册操作等。

基于目标的曲线

 

动态可调曲线

通过设置起点和最大值,可以在执行测试时在并发用户数之间移动。 这与使用徒手工具绘制图形相同。 动态可调曲线选项甚至回答了这些状态可能导致的最复杂的用例和负载峰值。

负载视图动态可调曲线

 

负载喷油器有效负载

此设置决定每个负载喷油器的用户数。 可以使用校准按钮设置建议的数字。

负载喷油器有效负载

 

负载喷油器地理分布

可以为不同的负载喷油器设置不同的地理位置。 这有助于使用不同位置的不同请求来测试系统。 LoadView 平台允许您从全球 15 个地点进行选择。

负载喷油器地理分布

 

了解性能测试结果

从报告部分,可以找到有关负载测试的额外图形信息。

在执行计划图中,您可以调查负载测试是否按预期执行。 例如,在上图中,在 30 秒 – 1 分钟标记之后,我们可以看到实际用户数由于某种原因无法点击 9 个用户。 在 4 分 30 秒标记后达到的最大用户数。

执行计划

执行计划

 

平均响应时间图非常适合了解系统在不同负载下的行为。 在此测试中,我们可以看到测试系统的响应时间在 0-30 秒标记下显著增加。 (+50 秒,表示存在瓶颈) 在第一个峰值平均响应时间约为 10 秒后,对于当今的用户预期来说,这相当缓慢(所有网站应针对最低跳出率和最大转化率在 2 秒以下)。

平均响应时间

平均响应时间

累计会话计数

在整个负载测试过程中累积会话计数。 从上图中,系统可以处理的会话总数可以扣除。 在这种情况下,在 150-200 个会话之后,某些新会话无法启动并抛出错误。

累积会话计数

 

参考服务器

从”会话报告”选项卡中,可以筛选出会话以仅包括参考负载喷油器。 此参考负载喷射器在测试执行期间排除硬件应力(它只运行一个虚拟用户),以便您可以将其与重载版本进行比较。

LoadView 会话报告

 

筛选参考 负载喷射器会话 后,可以播放执行视频,以便使用视频按钮比较负载喷射器和参考用户。

LoadView 参考服务器

 

瀑布图

最后,瀑布式图表提供了有关 Web 界面和瓶颈的深入了解。 例如,网站包含向 Web 服务器发出的文件请求(CSS 文件、JavaScript 文件、HTML 文件等)。 使用瀑布图,我们可以了解哪个请求是阻塞因素,提高了加载速度。 消除阻塞元素,使请求异步或仅先加载关键 CSS,然后后 CSS 的其余部分可以减少加载时间。

在开发或启动的早期阶段了解这些阻塞因素可以节省大量的预算和时间,从而提供更好的流量和容量管理。 有关瀑布图的更深入的信息,请阅读我们的博客文章, 通过了解瀑布图来优化 Web 性能

 

负载视图瀑布图

 

结论:负载测试概述和了解报告和瀑布图

如果您的网站或应用程序受服务级别协议 (SLA) 限制,加载测试必须向客户端显示软件已准备好接受预期的负载量。 例如,如果您已经有一个预先确定的事务目标,或者知道(大约)在特定时间段内您期望在您的网站或应用程序上的访问者数量,则运行基于目标的曲线测试将有助于确认您的网站或应用程序满足预定义的要求。

此外,在网站或应用程序上生成增加的负载有助于预测未来较重的用户负载的应用程序性能。 这通常是出于容量规划目的。 负载测试的结果可以帮助您确定需要立即关注的单个元素。 此外,LoadView 会保留您以前的测试结果,以便在对站点或应用程序进行更改后,可以用作针对新性能指标的基准测试结果。

立即试用 LoadView! 注册并免费接收多达 5 个负载测试