当前位置: 首页 > wzjs >正文

网站下载器杭州网站制作维护

网站下载器,杭州网站制作维护,Windows怎么建设网站,医院网站制作设计在性能测试领域,JMeter 和 LoadRunner 是广为人知的工具,而 Artillery 作为一款现代化的负载测试工具,凭借简单易用、可编程、支持分布式测试等特点,在开发和测试人员中越来越受欢迎。本文将带你快速了解 Artillery 的核心特性、安…

在性能测试领域,JMeterLoadRunner 是广为人知的工具,而 Artillery 作为一款现代化的负载测试工具,凭借简单易用、可编程、支持分布式测试等特点,在开发和测试人员中越来越受欢迎。本文将带你快速了解 Artillery核心特性安装方法 以及如何高效编写负载测试脚本

性能测试的核心目标,是验证系统在极端负载下的稳定性、响应速度与资源利用率。根据行业报告,随着云计算、物联网及人工智能技术的普及,企业对性能测试的需求已从传统的服务器扩展至移动端、分布式系统乃至云原生架构。然而,性能测试的复杂性也在增加,如何高效模拟大规模用户行为?如何快速生成可读性强的报告?如何灵活支持多协议与实时通信?这些问题催生了各类负载测试工具的迭代与创新。

本篇将介绍一款负载测试平台– Artillery,可进行分布式负载、可扩展、支持多种协议,并可以使用Playwright进行负载测试等特点。

简介

Artillery 是什么?

Artillery 是一款轻量级、可扩展的负载测试工具,基于 Node.js 构建,适用于HTTP、WebSocket、Socket.io 和 AWS Lambda 等多种场景。它可以帮助你: ✅ 模拟高并发用户请求,评估系统承载能力
检测 API 性能瓶颈,优化接口响应时间
支持 CI/CD 集成,实现自动化性能测试

Artillery是一个可扩展、灵活和易于使用的平台,包含生产级负载测试所需的一切。

Artillery 的优势

简洁配置:使用 YAML/JSON 配置文件,不需要复杂的 GUI
支持 JavaScript 脚本:可以使用 JS 自定义请求逻辑
分布式测试:可扩展到多个节点,适用于大规模负载测试
实时指标监控:内置统计和报告功能,便于快速分析性能

功能特点:

  • 分布式负载测试:Artillery可通过运行在你自己的AWS或Azure账户中的无服务器负载生成器来扩展负载测试规模,无需设置或管理长期运行的基础设施。

  • 对任何内容进行负载测试:对Web应用程序、HTTP API、GraphQL服务、WebSocket、Socket.IO、SOAP、gRPC、Kafka等进行负载测试。

  • 使用Playwright进行负载测试:通过Playwright代码启动数千个无头浏览器,了解你的Web应用程序如何处理高负载,以及对核心网络指标(Core Web Vitals)的影响。

  • 报告与协作:可视化测试结果、分享报告、分析性能趋势,并与团队协作。

  • 丰富的集成:20多个用于监控、可观测性(包括OpenTelemetry)、持续集成/持续交付(CI/CD)以及集成开发环境(IDE,如 VS Code、WebStorm等)的集成和插件。

  • 可扩展且成本效益高:Artillery在你自己的AWS或Azure账户中执行测试,这比在托管平台上运行测试便宜几个数量级,它是无服务器的,因此你只需为使用的资源付费,并且无需管理基础设施。

官方网址:https://www.artillery.io/

载测试是一种性能测试,旨在确定系统在不同负载条件下的行为,识别瓶颈并确保应用程序在高峰流量下保持性能。Artillery 是一个综合负载测试平台,根据 Artillery 官网 的描述,它是“完整的负载测试平台”,设计为可扩展、灵活且易于使用,适合生产级负载测试。

研究表明,Artillery 支持多种协议和技术,包括 HTTP、WebSocket、Socket.IO、gRPC 和 Kafka,适合测试各种后端系统,如 API 服务、电商后端和聊天系统。

从 Artillery GitHub 和 Artillery Cloud 文档 中,提取开源与云版本的对比:

特性开源版本云版本 (Artillery Cloud)
部署方式本地或用户基础设施,需 Node.js 运行时云端托管,需 GitHub 账户登录
成本免费,开源(MPL 2.0 许可证)需订阅,企业计划可定制,定价需咨询
功能基本负载测试,YAML/JS 脚本,支持多种协议增加仪表板、实时报告、团队协作、Playwright 支持
扩展性依赖用户云账户(如 AWS、Azure),需自行管理内置扩展,服务器负载生成器自动管理
使用场景小型团队,预算有限,需自定义大型团队,需高可用性,注重协作和报告

这种对比表明,开源版本适合预算有限的团队,而云版本更适合需要高级功能的大型团队。

 

以下是 Artillery 的详细功能,适合测试工程师使用:

  1. 分布式负载测试(20%)
    • 使用服务器负载生成器运行在用户自己的 AWS 或 Azure 账户中,无需管理长期基础设施。
    • 示例:Code Wizards 使用 Artillery 和 AWS 测试 Heroic Labs’ Nakama,达到 200 万并发玩家。
  2. 协议支持(15%)
    • 支持 HTTP、WebSocket、Socket.IO、gRPC、Kafka 等,适合测试各种后端系统。
    • 示例:测试电商 API 的性能,模拟高并发订单请求。
  3. Playwright 集成(20%)
    • 启动数千个无头浏览器,测试 web 应用程序的性能,分析核心网络指标(如加载时间)。
    • 示例:测试登录页面在高负载下的响应时间。
  4. 报告与协作(15%)
    • 提供可视化报告,分享测试结果,分析性能趋势,团队协作。
    • 云版本提供仪表板,方便外部利益相关者查看。
  5. 易用性与扩展性(10%)
    • 使用 YAML 或 JavaScript 编写测试脚本,易于学习。
    • 支持插件 API,允许扩展和定制,集成 CI/CD 和监控工具。
  6. 成本效率(10%)
    • 开源版本免费,云版本按使用付费,无需管理基础设施,降低维护成本。
  7. 社区与支持(10%)
    • 开源社区活跃,GitHub 仓库有大量示例和贡献。
    • 云版本提供企业支持,适合大型组织。

快速上手

1、如何安装 Artillery?

Artillery 依赖于 Node.js,在安装之前,请确保你的环境中已安装 Node.js (>=14.x)
然后使用 npm 进行安装:

系统要求:

Artillery在Windows、MacOS和Linux系统上运行,需要Node.js的最新LTS版本。

npm install -g artillery@latest

检查安装:

通过运行以下命令检查Artillery是否已安装。

npx artillery dino

 

或者直接输入命令artillery。

 

还可以通过运行以下命令来检查已安装的Artillery版本。

artillery version

 

Artillery CLI安装完成后,开始第一个请求示例:

http://asciiart.artillery.io:8080/dino

如图所示,接口返回的是一个恐龙图案。

首先要创建Artillery测试脚本。

脚本内容:

测试脚本由两部分组成:配置(config)和场景(scenarios):

  • 配置部分定义了负载测试将如何运行,例如要测试的系统的URL、将生成多少负载、想要使用的任何插件等等。

  • 场景部分则用于定义创建的虚拟用户将执行的操作。一个场景通常是一系列步骤,描述了应用程序中的用户会话。

config:target: http://asciiart.artillery.io:8080 # 所有请求都将使用该基本URLphases:- duration: 60arrivalRate: 5rampTo: 10name: Warm up the API # API 预热阶段 —— 此阶段将持续 60 秒。Artillery 开始时每秒创建 5 个新虚拟用户,到该阶段结束时逐渐增加到每秒 10 个新虚拟用户。- duration: 60arrivalRate: 10rampTo: 50name: Ramp up to peak load # 负载提升至峰值阶段 —— 此阶段同样持续 60 秒。Artillery 将继续把负载从每秒 10 个虚拟用户提升至每秒 50 个虚拟用户。- duration: 300arrivalRate: 50name: Sustained peak load # 持续峰值负载阶段 —— 此阶段将持续 300 秒。在此阶段,Artillery 每秒将创建 50 个新虚拟用户。plugins:ensure: {}apdex: {}metrics-by-endpoint: {}apdex:threshold: 100ensure:thresholds:- http.response_time.p99: 100- http.response_time.p95: 75
scenarios:- flow:- loop:- get:url: '/dino'- get:url: '/pony'- get:url: '/armadillo'count: 100# 将这3个请求重复100次

保存脚本,例如文件为asciiart-load-test.yml。

然后运行负载测试:

artillery run asciiart-load-test.yml

测试结果实时打印出来。但是单从这些日志结果看不出来具体的性能走势,不易于分析与定位,接下来将要介绍Artillery Cloud的使用。

使用Artillery Cloud

Artillery Cloud是一款软件即服务(SaaS)平台,它提供了一个集中式的仪表盘,用于管理和分析负载测试结果。

功能特点:

  • 实时监控负载测试运行情况。

  • 查看负载测试运行生成的性能指标(响应时间、错误、自定义验证检查和自定义指标)。

  • 为特定应用程序的指标创建自定义图表。

  • 按项目或团队整理负载测试报告。

  • 与外部利益相关者共享测试结果。

使用你的GitHub账户登录,创建Artillery Cloud账户。

https://app.artillery.io

创建API密钥。

要使Artillery CLI能够向Artillery Cloud发送数据,需要一个API密钥。

登录仪表板,转至“设置”→“API密钥”,然后创建新的API密钥。

Artillery CLI将数据发送到Artillery Cloud。

Artillery Cloud的使用是可选的,你必须告知命令行界面你何时希望将测试结果发送到云端仪表盘。

要将一次测试运行记录到仪表盘,在使用 `artillery run` 命令时带上 `--record` 和 `--key` 标志。例如,如果你当前使用以下命令运行负载测试:

要启用云仪表板报告,请添加--record并使用--key设置API键:

artillery run asciiart-load-test.yml --name "my-test-demo" --record --key $MY_ARTILLERY_CLOUD_KEY

负载测试执行完成,Artillery Cloud根据不同的仪表盘,可以查看当前测试的不同指标信息,便于分析与定位。

总结

当前,CI/CD 模式普及,负载测试需求增加。短视频平台如抖音(抖音官网)和 API 文档工具如 Postman(Postman 官网)推动测试工程师使用 Artillery。研究表明,Artillery 在 2025 年市场份额为 0.61%,竞争对手包括 Apache JMeter(52.70%)和 Gatling(高性能分析)。

Artillery 是一款简单易用、功能强大的负载测试工具,特别适合API 性能测试WebSocket 压测。相比传统的 JMeter,它更轻量,更适合现代 DevOps 流程。如果你正在寻找一款高效、易上手的负载测试工具,Artillery 绝对值得一试!🚀

Artillery 是一个强大的负载测试平台,适合模拟真实流量并测试性能。开源版本适合预算有限的团队,云版本提供高级功能,满足大型团队需求。这不仅是技术工具,更是提升软件可靠性的关键。

“用 Artillery 负载测试,您的应用从此无惧流量洪峰!”

 


文章转载自:

http://Z5T3Weup.Lmhwm.cn
http://uHN0QO1t.Lmhwm.cn
http://9lQGuYnv.Lmhwm.cn
http://ekOW8vAK.Lmhwm.cn
http://h0cr0jwW.Lmhwm.cn
http://60aEXRHO.Lmhwm.cn
http://GQIhkIP5.Lmhwm.cn
http://OCorY6gP.Lmhwm.cn
http://NCCxCyTy.Lmhwm.cn
http://8L5ZXglK.Lmhwm.cn
http://7aTrzUya.Lmhwm.cn
http://tYvVrfEq.Lmhwm.cn
http://HFh8Qx2o.Lmhwm.cn
http://DpnmtDec.Lmhwm.cn
http://DCukd116.Lmhwm.cn
http://WSFTSKVE.Lmhwm.cn
http://D3dV84QM.Lmhwm.cn
http://Ukl8jId3.Lmhwm.cn
http://tQJ6D6sc.Lmhwm.cn
http://bwT5SZI5.Lmhwm.cn
http://Rf3xIrwY.Lmhwm.cn
http://qr6c4eTU.Lmhwm.cn
http://55TizMKu.Lmhwm.cn
http://upmN5fpx.Lmhwm.cn
http://lwurjRJd.Lmhwm.cn
http://5AsmxUOa.Lmhwm.cn
http://ylhqqk7c.Lmhwm.cn
http://r78JjeoQ.Lmhwm.cn
http://mtKznKAU.Lmhwm.cn
http://KUjkRaIT.Lmhwm.cn
http://www.dtcms.com/wzjs/644132.html

相关文章:

  • 网站优化推广网站框架是什么
  • 网站 工信部备案 收回wordpress谷歌字体大小
  • aspcms三合一网站源码西安网站建设公司平台
  • 重庆网站建设拓云wordpress 搜狐
  • 河南住房和城乡建设厅网站资质培训机构跑路怎么追回学费
  • 网站建设 英语翻译指数是什么
  • 卧龙区微网站建设做招聘网站排名
  • 济宁市松岳建设机械有限公司网站企业信息系统类型
  • 百度怎样建立网站wordpress转tytypecho
  • 提供商城网站制作电子商务网站建设教程 pdf
  • 企业网站实施方案鹤岗市建设局网站
  • 公司网站建立教程上海传媒公司总裁李健
  • 自己怎么做网站链接东莞饰品网站建设
  • 阿里云官方网站 icp代备案管理系统360免费建站网址是什么
  • 图书馆网站参考咨询建设今傲网站做的怎么样
  • 海络网站什么是移动端网站适配
  • 用固定ip做访问网站服务器九江做网站开发需要多少钱
  • 假发网站建设正品二手手表交易网
  • 网站开发工程师应聘书范文700字wordpress扁平模板
  • 公司网站建设征稿令outstock. wordpress
  • 初学者怎么做php网站网站建设需求单
  • 网站自然排名怎么做电脑ps软件哪个好
  • 网站建设后的注意问题邹城网站建设
  • 中国电信黄页网seo站长论坛
  • 万网定制网站怎么样网站建设管理费一能多少钱
  • 大兴高米店网站建设基于互联网 模式下的安全网站建设
  • 用于手机的导航网站要怎么做免费网站建设系统
  • 电子商务的网站开发自己制作招聘的小程序
  • 建设局建筑电工证查询网站网站制作怎么学
  • 公司开发一个网站的流程医院网站域名备案