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

域名注册网站有哪些谷歌搜索引擎入口2022

域名注册网站有哪些,谷歌搜索引擎入口2022,网站建设推广特色,html网站自带字体怎么做本中介绍如何使用Locust为开发的服务/网站执行负载测试。 Locust 是一个开源负载测试工具,可以通过 Python 代码构造来定义用户行为,避免混乱的 UI 和臃肿的 XML 配置。 步骤 设置Locust。 在简单的 HTTP 服务上模拟基本负载测试。 准备条件 Python…

图片

本中介绍如何使用Locust为开发的服务/网站执行负载测试。

Locust 是一个开源负载测试工具,可以通过 Python 代码构造来定义用户行为,避免混乱的 UI 和臃肿的 XML 配置。

步骤

  • 设置Locust。

  • 在简单的 HTTP 服务上模拟基本负载测试。

准备条件

  • Python(+ pip 用于安装 locust 包)

  • 任何模拟负载测试的 HTTP 服务。(开发一个 Spring Boot HTTP 服务作为演示的被测对象)

Spring Boot HTTP 服务

我们通过 Spring Boot 开发了一个简单的 REST API 格式的接口/greet,它不执行 CPU 或 I/O 密集型工作【非事务性接口】,而只是返回一个字符串。将该服务在端口 8080 上本地运行。

Spring Boot HTTP 代码

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@SpringBootApplication
public class SpringBootLoadServiceApplication {public static void main(String[] args) {SpringApplication.run(SpringBootLoadServiceApplication.class, args);}}@RestController
class RandomResource {@GetMapping(value = "/greet")public String greet() {return "Locust Load Test.";}
}

设置 Locust 脚本文件

现在我们将编写Python 代码(springboot_locust.py)来模拟负载测试,该测试脚本将打到本地8080端点,如下所示代码片段

from locust import HttpUser, task, between #this is self-explanatory we importing required classes, function from locust module.class SpringBootUser(HttpUser): #Simulates a single Real-world User. HttpUser class is extended so we provide what task the user will do.'''this won't take effect in our scenario, as this attribute is optional and specify wait time randomly picked between parameters passed (1-3 seconds) between multiple @task executed. We have only one @task executed'''wait_time = between(1, 3) '''This is main core functionality of locust. @task are treated as a singel http request made. We can multiple have @task. In below we are going to hit /greet endpoint on our localhost'''@taskdef hello_world(self):self.client.get("/greet")

添加注释以确保代码是不言自明的。我们只是定义一个任务,一个任务是一个线程的单次执行。我们也可以有多个任务,以模拟流程和权重来确定它们的执行顺序,否则它们将被随机选取。

现在我们将开始 Locust 测试,通过执行以下命令来启动 Locust Web UI:

locust -f springboot_locust.py

默认情况下,它将在端口 8089 上启动 Locust Web UI 并显示如下:

图片

执行负载测试

我们将执行 2 次测试,一项有 100 个用户,另一项有 1000 个用户。我们将每秒生成 5 个和 20 个用户,直到分别达到 100 和 1000 个最终用户目标。

100 个用户的负载,每秒生成 5 个用户

我们将在填充以下值后 Start Swarming:Locust 逐步增加到 100 个用户,每个用户向 API 发送一个请求

图片

从下面的图表中,我们可以看到,随着负载增加到 100 个用户,其中平均响应时间保持在 2ms,而 95% 百分位响应时间约为 3 毫秒。因此我们可以看到,在处理 100 个用户请求时,用户没有出现任何峰值。

图片

每个测试都有不同的选项卡,如下所示,用于显示测试的实时结果,并且大多数选项卡都是不言自明的。主要使用统计、图表(实时结果)和下载数据(用于共享测试后结果)。

图片

每秒生成 20 个用户,负载 1000 个用户

我们现在将模拟 1000 个用户测试,但每秒生成 20 个用户测试服务的性能:

图片

现在我们看到,有 1000 个用户正在请求 API:

图片

针对测试结果稳定之前,需要给予服务持续的压力,以逐步增加到 1000 个用户。
从下面的图表中,我们可以看到当我们的服务负载以用户增加和请求触发的形式增加时,Locust如何捕获响应时间。随着 API 负载的增加,我们看到中位数以及 95% 百分位响应时间有所增加。

图片

下面结果展示了随着用户持续增加,我们开发的服务响应时间:

  • 对于少于400 运行的用户,我们的中值响应时间为2 毫秒,95% 百分位数响应为5 毫秒。

  • 对于少于450-675 运行的用户,我们的中值响应时间为3 毫秒,95% 百分位数响应为7 毫秒。

  • 对于少于750-1000 运行的用户,我们的中位响应时间为4-5 毫秒,95% 百分位数响应为10-12 毫秒。

因此我们可以看到 Locust 如何提供实时图表来捕获服务的响应时间,这些服务根据负载生成的行为有所不同。显然,上述服务是一个虚拟服务,但在现实场景中,它将有助于识别在负载下行为异常的服务。

当然,这只是一个测试用例,但Locust的用途远不止于此。上述内容可以帮助大家在本地进行基本的负载测试实操。

http://www.zhongyajixie.com/news/15764.html

相关文章:

  • 做pc端大型网站+前端用google推广 的效果
  • 宁波市网站集约化建设通知软件开发流程
  • 优质的网站制作今日短新闻20条
  • wordpress 博客 注册网站seo优化公司
  • 在后台怎么做网站内链品牌推广方案策划书
  • 深圳网站排名优化团队百度快照网址
  • 咸阳网站开发哪家好优化方案丛书官网
  • 怎么做网站切图企业网站的在线推广方法有
  • 建设婚恋网站基本功能有哪些网页开发工具
  • 程序员和网站开发代推广app下载
  • php自己做网站百度小说风云榜排名
  • 做阅读理解的网站外贸seo
  • 上海网站建设设计公司做网站需要多少钱
  • 平面素材网站排名福州网站seo
  • 微信网站开发流程可口可乐搜索引擎营销案例
  • 建设网站的源代码seo搜索引擎优化是什么意思
  • 南京搜索引擎推广优化百度seo效果
  • 山东食品行业网站开发百度怎么注册公司网站
  • 网站后端架构如何做seo教程网
  • wordpress gitbook 插件杭州优化建筑设计
  • 做怎样的网站能赚钱吗网络平台有哪些
  • 山东省建设工程协会网站9个成功的市场营销案例
  • 手机微网站第二年续费吗网站营销推广有哪些
  • 网站网络推广服务免费卖货平台
  • 广州洲聚网站开发网推是什么
  • 武汉文理学院机电与建筑工程网站希爱力的作用与功效
  • 做网站用java还是php网店运营实训报告
  • 室内设计和平面设计区别山西免费网站关键词优化排名
  • 什么网站可以做设计赚钱吗企业培训师
  • 云南工贸网站建设百度霸屏推广多少钱一个月