即使是网站所有者中最新手也曾在某些时候或其他时候测试过他们的 网站表现. 然而,大多数这些测试通常集中在 装车速度 or 用户体验指数.
但是负载测试呢?
尽管大多数网站的流量水平通常很正常,但有时某些站点可能不得不处理沉重的负载。 这些示例包括在线商店,甚至一些政府网站。
如果您的网站在短期内出现意外的访问量激增,您将如何处理?
了解负载测试
什么是负载测试?
负载测试是对网站进行基准测试,以查看其在各种负载下的性能。
例如,一个测试可以模拟越来越多的同时访问者登陆您的网站。 它还将记录您的网站如何处理它们并记录它们以供参考。
测试了哪些类型的“负载”?
根据您选择用来对站点进行负载测试的工具,每个工具可能具有不同的功能。 最基本的操作只是模拟不断增加的负载,并在站点崩溃时停止。
其他工具可能能够生成模拟负载,以模拟不同的用户行为,例如执行查询,更改页面或加载其他功能。 有些甚至可能能够为每个单独的方案绘制逻辑流程。
根据其复杂性,某些负载测试工具可能非常昂贵。 但是,市场上有更便宜的选择,有些甚至可以免费使用。 我在下面提供了这些内容的混合体供您参考,其中包括几个开源选项。
性能测试工具的快速比较
1.通过Dotcom Monitor进行Loadview
Loadview是市场上可用的更完整的解决方案之一,今天基于云服务模型。 这意味着无论您需要哪种模拟,您都只需为服务付费–硬件或其他任何东西的投资为零。
从功能上讲,Loadview提供了一个非常复杂的解决方案,其中可以包含所有内容 HTTP负载测试 您选择的复杂组合。 它能够在测试中模拟动态变量甚至地理位置的多样性。
提示:不确定 LoadView 是否适合您?
使用 LoadView 安排探索电话(15 分钟)或免费演示(1 小时)。 他们的性能工程师将引导您完成脚本和执行过程 > 立即安排免费演示.
加载视图功能
- 防火墙后测试
- 处理动态变量
- 详细的瀑布图
- 加载测试曲线
2. K6 Cloud(以前称为负载影响)
网站: https://k6.io/
价格:$ 89 /月起
K6是作为服务提供的基于云的开源负载测试工具。 使该工具变得有趣的一件事是,它以可变使用模型定价,这意味着根据您的需求,入门成本可能相对较低。 但是,它主要以开发人员为中心。
除了负载测试,K6还提供性能监控。 它的负载测试侧重于高负载,并可以处理各种模式,例如峰值,压力测试和耐久测试。
* K6不在浏览器中运行,也不在NodeJS中运行
K6 特点
- 开发人员友好的API。
- 用JavaScript编写脚本
- 绩效监控
3.加载忍者
加载忍者使您可以基于记录的脚本对真实的浏览器进行加载测试,然后帮助分析性能结果。 它大规模使用了真实的浏览器,这意味着该工具有助于重新创建更真实的环境和最终测试结果。
可以实时分析结果,并且借助系统提供的便捷工具,您的脚本编写时间可以减少多达60%。 内部应用程序也可以使用基于代理的固定IP或您自己的动态IP范围(通过使用白名单)进行测试。
4. Micro Focus的LoadRunner
价格:$ 0起
借助支持50个虚拟用户进行测试的入门级免费社区帐户,即使最新的网站所有者也可以使用LoadRunner。 但是,如果将其扩展到较高级别,则成本将成倍增加。
这种基于云的解决方案还提供了用于单元测试的集成开发环境。 它支持广泛的应用程序环境,包括 Web、Mobile、WebSockets、Citrix、Java、.NET 等等。 请注意,LoadRunner 可能非常复杂并且学习曲线陡峭。
微焦点功能
- 专利的自相关引擎
- 支持50多种技术和应用环境
- 使用脚本重现真实的业务流程
5。 装载机
价格:$ 0起
与到目前为止的内容相比,Loader是一个更简单,更基础的工具。 它的免费计划支持多达10,000个虚拟用户的负载测试,这足以满足大多数中等流量的网站的需求。
不幸的是,您将需要制定付费计划才能访问更多高级功能,例如高级分析,并发测试和优先级支持。 尽管基本上只添加站点,指定参数然后运行测试,但它却易于使用。
特点
- 可共享的图形和统计
- 可用于GUI或API格式
- 支持DNS验证和优先级加载器
6.加特林
网站: https://gatling.io/
价格:$ 0起
加特林有两种版本,开源或企业版。 前者使您能够与自己的开发管道集成进行负载测试。 它包括网络记录器和计划的报告生成器。 企业版具有本地部署,或者您可以选择基于以下版本的云版本: 亚马逊网络服务(AWS).
尽管这两个版本都是功能丰富的,但企业版支持开源未提供的一些其他功能。 例如,它具有更可用的管理界面并支持更广泛的集成。
特点
- 多协议脚本
- 无限的测试和吞吐量
- 加特林脚本DSL
7.磨床
价格:$ 0起
Grinder一直都是开源的,可能是该列表上唯一真正免费的选项。 但是,它必须在自己的开发环境中本地运行,并且需要一些额外的功能(例如Java)才能工作。
但是,由于它是开源的,因此已被广泛采用,并且开发人员提出了许多插件,这些插件在使用能力和功能方面都大大扩展了它。 尽管如此,除非您是开发人员或有一定专心的人,否则Grinder对于您来说可能会很少使用。
特点
- 基于的灵活脚本 吉顿 和 Clojure的
- 高度模块化的大量插件
- 分布式框架和成熟的HTTP支持
何时加载测试您的网站性能?
如果您看过大多数可用的工具,您可能会注意到其中许多工具提供了试用帐户或某种形式的有限免费版本。 这使得它们易于被广泛的受众使用。
大多数网站所有者需要关注 托管服务器性能 因为它的影响远远超过 简单的用户体验。 对于许多企业主而言,您网站的可用性也与品牌声誉有关。
成长中的站点需要特别注意用于以下目的的资源的可用性和可伸缩性: 托管您的网站。 在大多数情况下,用户响应时间的很大一部分花费在网站的表面上。 但是,随着网站流量的增长,这种情况可能会改变。
通常,更多的流量意味着后端处理的增长不成比例,并且随着峰值的增加,您的系统将难以为继。 这很大程度上取决于您的网站开发所特有的变量,因此不可能为您提供大量的访问者,这时将发生这种情况。
为了真实地了解您的网站性能,您需要进行负载测试。 确切的时间是有争议的,但是我的建议是提前计划并尽早进行测试。
负载测试时要检查什么?
顾名思义,您的核心功能应该是网站在负载下的运行方式的基础。 这将使您观察许多事情,例如:
- 在什么时候您的网站性能开始下降
- 服务降级时实际发生的情况
当我提到不同的站点如何根据其体系结构做出不同的反应时,这是一个信号,旨在让您了解并非所有站点也会以相同的方式失败。 一些数据库密集型站点 在这一点上可能会失败,而其他人可能会受苦 IO故障 基于服务器连接负载。
因此,您需要准备进行各种测试,以了解您的站点和服务器在各种情况下如何应对。 基于这些内容,请密切关注一些关键指标,例如服务器响应时间,出现的错误数量以及这些错误可能位于哪些区域。
生成复杂的脚本和运行以及随附的逻辑可能很困难。 我建议您逐步进行负载测试。 从蛮力测试开始,该测试将在不断增加的流量下简单地测试您的站点。
随着经验的积累,添加诸如可变行为之类的其他元素,随着时间的推移开发脚本和逻辑。
负载测试工具——有些总比没有好
在进行负载测试时,从基础入手总比根本不入门好。 如果您是所有这些的初学者,请尝试尽可能在备用镜像上或脱机进行测试–如果可以,请避免对实时站点进行负载测试!
如果您现在才刚开始,请确保创建测试记录。 性能测试 随着网站的发展,它应该伴随着它的发展。 这个过程可能很累,但请记住,没有记录会使您将来的评估变得更加困难。
阅读更多
原文链接:https://www.itaoda.cn/blog/3939.html,转载请注明出处。
评论0