什么是负载测试?
负载测试 是评估某物在不同负载下如何工作的过程。 在网站的上下文中,执行它是为了让您了解什么 网站表现 会像在不同的条件下。 了解这些信息可以帮助 性能微调.
建网站不是 所有那么困难. 不幸的是,许多网站所有者未能为增加的访问者数量做出适当的计划。 处理一两个请求没问题,但是当您的站点在短时间内收到 50 到 100 个请求时会发生什么情况?
这就是负载测试派上用场的地方。
负载测试实际上是如何工作的?
您的网站可以承受沉重的流量负载吗?
找出答案的一种方法:使用 Loadview 通过数千个并发连接对您的网站进行压力测试。 无需编码,30 天免费试用,在 40 多种真实浏览器和设备上进行测试,现在免费获得 20 美元的测试积分 > 点击订购
永远不要等到访问者涌入您的网站并遇到 429 or 508错误. 实时网站应始终努力避免任何可能的停机时间。 负载测试可以帮助您提前规划以避免这些情况。
大多数负载测试是通过软件进行的。 由于这些活动会影响网站性能,因此通常在网站上线之前进行。 这避免了性能影响,并让您有机会提前纠正潜在问题。
基本原理是使用脚本模拟某些场景,观察网站如何响应。 然后,所使用的工具或软件将加载预定义的脚本并根据您可以设置的其他参数运行它们。
负载测试报告——示例
测试过程中,CPU、内存、输入/输出(I/O)等多个点都会记录数据 Opera化,等等。 有些工具可能只是为您提供这些数据,而其他工具则足够先进,可以帮助您分析结果甚至推荐行动计划。
负载测试的好处
使用负载测试工具提供给您的结果,您可以对您的站点进行调整,以帮助它针对您测试过的行为场景进行规划。
一些潜在的优势包括:
- 解决性能瓶颈 – 如果您注意到您的站点在特定情况下速度变慢,则可能是由于特定网络托管资源的瓶颈。 例如,某些数据库查询会消耗更多的 CPU 时间。
- 提高敏捷性 – 了解潜在的故障点可以帮助您规划更好的资源可扩展性。 如果您使用的是可定制的计划(例如 VPS),这会更有帮助。 如果您注意到资源消耗增加,您可以提前进行配置。
- 更好地管理投资回报率 – 了解资源成本及其局限性可以帮助您将成本控制在更有效的水平。 过度配置可能会花费大量资金,而负载测试可以帮助您避免这种情况。
这些只是有效负载测试可以带来的众多好处中的一部分。
使用什么工具?
您可以查看的负载测试工具包括 Dotcom Monitor 的负载视图测试, 加载忍者, 智能电表.io和 网络加载.
根据您选择用来对站点进行负载测试的工具,每个工具可能具有不同的功能。 最基本的将简单地涉及模拟不断增加的负载并在您的站点崩溃时停止。
其他工具可能能够生成模拟不同用户行为的模拟负载,例如执行查询、更改页面或加载其他功能。 有些甚至可以为每个单独的场景绘制出逻辑流程。
我们混合了高级和基本(又名便宜和昂贵)负载测试工具,包括几个开源选项, 在另一篇文章中. 如果您正在寻找合适的负载测试工具,请检查一下。
负载测试场景示例
为了更好地了解负载测试,让我们举例说明一些可能的场景。
1. 负载测试你的博客
博客通常更直接,因为它们的主要目的只是传达信息。 但是,根据您对博客的实际操作,可能会进行更多活动。 可能的脚本组合可能包括:
- 15 个用户同时加载页面。
- 15 谁决定登录到他们的订户帐户,然后注销。
- 15 个用户加载包含表格中加载的复杂数据的页面
2. 负载测试您的电子商务网站
电子商务 站点必须执行负载测试或面临灾难。 他们需要能够轻松应对一系列复杂情况。 例如:
- 20 用户浏览产品目录
- 25 位用户在购物车中添加和删除商品
- 30 个用户登录他们的帐户修改配置文件
如您所见,可能的场景组合可能非常令人生畏。 结果可能更加全面。 需要进行适当的规划,以便从负载测试活动中获得真实的结果。
负载测试与压力测试
我见过一些人交替使用负载测试和压力测试这两个术语,但这是不正确的。
从我到目前为止所提到的内容中您可以看出,负载测试实际上是使用复杂行为的组合进行探测。
另一方面,压力测试更为基本。 它旨在测试您的网站处理大量流量的整体能力。 在几乎所有情况下,压力测试只会让站点充满请求,直到性能下降并且站点最终停止响应。
除了查看站点最终会在什么时候出现故障之外,压力测试还可以观察站点从故障中恢复的情况。 并非所有站点都会自行恢复——有些站点会直接离线,直到您进行干预。
网站所有者进行负载和压力测试是正常的。
最后
与涉及网站的任何其他事物一样,负载测试的价格可能相差很大。 您可以使用一些简单的工具,它们可以免费提供一定程度的好处。 然而,对于高度商业化的网站,如果您的需求是全面的,则需要支付更多的费用。
这只是在线开展业务的成本的一部分。 是的,您可以避免支付这些费用,但正如我上面提到的,过度配置资源最终会让您付出更多的代价。 更糟糕的是,在不断为此付费的同时,您仍然不知道您的网站何时会出现故障。