范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

Locust压测实践

  1、概述
  Locust是一款通过Python语言来编写压测脚本,且使用简单的分布式负载测试工具,完全基于事件,即一个locust节点也可以在一个进程中支持数千并发用户,不使用回调,通过gevent使用轻量级过程(即在自己的进程内运行)。
  其中gevent是第三方库,通过greenlet实现协程,greenlet是python的并行处理的一个库。python 有一个非常有名的库叫做 stackless ,用来做并发处理, 主要是弄了个叫做tasklet的微线程的东西, 而greenlet 跟stackless的最大区别是greenlet需要你自己来处理线程切换, 就是说,你需要自己指定现在执行哪个greenlet再执行哪个greenlet。
  2、特点
  ①、不需要编写笨重的UI或者臃肿的XML代码,基于协程而不是回调,脚本编写简单易读;
  ②、有一个基于web简洁的HTML+JS的UI用户界面,可以实时显示相关的测试结果;
  ③、支持分布式测试,用户界面基于网络,因此具有跨平台且易于扩展的特点;
  ④、所有繁琐的I / O和协同程序都被委托给gevent,替代其他工具的局限性;
  3、locust与jmeter的区别
  工具
  区别
  jmeter
  需要在UI界面上通过选择组件来"编写"脚本,模拟的负载是线程绑定的,意味着模拟的每个用户,都需要一个单独的线程。单台负载机可模拟的负载数有限
  locust
  通过编写简单易读的代码完成测试脚本,基于事件,同样配置下,单台负载机可模拟的负载数大于jmeter
  4、locust的局限性
  locust的局限性在于,目前其本身对测试过程的监控和测试结果展示,不如jmeter全面和详细,需要进行二次开发才能满足需求越来越复杂的性能测试需要。
  运行大规模测试时,建议在Linux机器上执行,因为gevent在Windows下的性能很差。
  5、测试脚本demo
  下面的demo 是基于locust最新的v2.1.0版本,笔者在学习时,发现网上很多blog资料都已经过时了,所以在这里特别说明一下版本,因为2.1.0版本的API和脚本编写跟之前版本有较大差异。
  最新版本可以参考官方的文档:https://docs.locust.io/en/stable/writing-a-locustfile.html
  脚本说明:
  1)新建一个类Demo(HttpUser),继承User,该类下面需要实现压测的相关逻辑,包含请求和校验;
  2)实现用户行为:@task装饰该方法表示为用户行为,括号里面参数表示该行为的执行权重:数值越大,执行频率越高,不设置默认是1;
  3)压测设置:  host:指向压测的host或url  wait_time:模拟负载的任务之间执行时等待时间的区间:单位:毫秒
  默认情况下,时间是在区间之间随机选择,但是可以通过将wait_function设置为任意函数来使用任何用户定义的时间分布。
  4) 任务的生命周期函数:
  User on_start # user初始化的时候执行,只执行一次
  User tasks…
  User on_stop # user执行完时执行,只执行一次
  此外压测的初始和结束时会调用的函数可以通过事件监听器来实现,如压测开始的 on_test_start  函数就是通过@events.test_start.add_listener  、on_test_stop  函数通过 events.test_stop.add_listener
  其他说明可以参考脚本中的注释说明
  6、启动执行
  locust提供了2种方式方式来启动执行:
  1)web 控制台启动:
  命令行执行:locust -f http_demo.py --host=https://test.yourdns.com,程序运行后可以在浏览器输入http://ip:8089(8089是该服务启动的端口号,本地启动的话就直接localhost:8089)打开web控制台,输入总的用户数和每秒的并发用户数,如下图:
  2)命令行启动(非web控制台触发执行):
  执行命令行: locust -f http_demo.py --headless -u 10 -r 3 --run-time 10s
  或者在代码中执行:
  7、分布式模式启动
  locust单机模式启动下,对于多核CPU仍不能完全利用,单机模式下的并发量维持在千级,再往上需要利用master-slave分布式模式,master节点负责分发和统计,slave节点负责并发执行。
  分布式模式的使用也很简单,只需要在locust命令行中加上 --master 或 --worker即可,下面为了方便在同一台服务器上启动master和多个worker,自己写的一个shell启动脚本:

数字人民币试点开始全新支付体系正在形成你有多久没用过现金了?手机支付的方便快捷使得现金的使用频率降低,而如今它正以另一种形式回归到人们的生活之中,它正是数字人民币。3月18日央行联合银保监会证监会外汇局等四部门联合发声2022年起,为什么互联网大厂纷纷大规模裁员?一句话答案市场已经饱和,甚至开始下行了,所以工人人数就超标了,所以就会裁员。微信,支付宝,今日头条,这些你叫得上名字的火热的APP,刚推出的时候,哪个不是面对十亿级别的增量市场,哪宜搭飞算SoFlu软件机器人前端全自动开发平台到底如何选?近年来,随着新冠疫情的爆发,各行各业对数字化转型的需求越来越迫切,纷纷开始寻求为企业降本增效的方法。低代码因为起到了改变软件作业模式,助力企业数字化转型的作用,而广受关注。低代码的千元性价比电竞显示器,泰坦军团P27A2G入手和常见的显示器相比,电竞显示器在刷新率响应速度上更胜一筹,同时也针对不同游戏场景做了优化,对于游戏玩家而言,一款好的电竞显示器,能够带来更佳的游戏体验,一定程度也会提升游戏水平。今突发!苹果大规模宕机已恢复正常,内部企业和零售系统曾瘫痪根据国外媒体的报道,昨天就是星期二,大量的苹果用户都在反映服务器出现了问题,AppleMusiciCloud和AppStore等服务被切断,同时也是影响到了国内的游戏在他们系统内没iQOO9Pro上手真实体验,说说优缺点和使用感受用了3年iQOO这个牌子的手机了,玩游戏感觉很好,看到新出的iQOO9Pro果断入手,到手用了几天了,说说感受。买的是赛道版,就是凯夫拉的后盖,质感非常好,比一般的凯夫拉手机壳还要为什么说电动车最大的谎言就是终身质保?文芝士驾道原创宁城都说现在和将来是新能源的天下,燃油车被淘汰是必然的。我们不管将来怎么样,但是至少现在来说,电动车还没有占据主导地位。除了销量没有燃油车高之外,还有就是电动车的实际继威马EX5后,威马W6可以为用户带来易于驾驶的智能驾驶体验威马汽车作为中国智能汽车高级实力学校,一直深入从事新能源汽车市场规模最大增长最快的智能电动汽车轨道,是热衷于科技的年轻家庭最受欢迎的品牌。其中,被称为智能电动汽车停车专家的威马W6瞄准充换电及储能广汽集团拟成立能源生态科技公司21世纪经济报道记者宋豆豆广州报道3月22日,广汽集团(601238。SH,02238。HK)发布公告称,审议通过了关于设立广汽能源生态科技有限公司的议案,广汽集团和埃安将共同出资获得专业机构最高评价的三星GalaxyS22Ultra影像能力再创新高影像是衡量一部智能手机是否足够出色是否能够满足消费者需求的重要因素。毕竟现在智能手机已经几乎取代了普通的数码相机,成为了大多数人生活中形影不离的拍摄工具。三星最新一代旗舰手机三星G美团优选,多多买菜,还能坚持多久?真的没有利润空间吗?网上社区团购你们少说了,可不止它们俩个,还有京喜拼拼,淘菜菜。我一直在上面买。我认为坚持到底没问题,因为这都是经历过社会大浪淘沙优胜劣汰剩下的商业巨头,要倒下早倒下了,能坚持到现在
vivo全新X系列旗舰曝光7英寸2KE5屏全焦段四摄今日,vivo传闻中的最新旗舰机型vivoXNote真机图片正式在网络上现身。据博主WHYLAB带来的图片显示,vivo这款名为XNote的新机早先的时候曾在官网上架,但目前已经搜Go1。18新特性多模块工作区教程导读随着2022年3月15日go1。18正式发布,新版本除了对性能的提升之外,还引入了很多新功能,其中就有go期盼已久的功能泛型(Generics),同时还引入的多模块工作区(Wo美ONE回应传闻所有女生小程序只是服务于直播间的一个功能没有其他商业计划每经记者陈婷每经编辑刘雪梅3月21日每经快讯,近日,李佳琦的官方微信小程序所有女生会员服务中心(下文简称所有女生),在功能上出现了变化在所有女生小程序首页,增加了精选好物分区,用户leetCode给你一个32位的有符号整数x,返回将x中的数字部分反转后的结果。如果反转后整数超过32位的有符号整数的范围2,21,就返回0。假设环境不允许存储64位整数(有符号或无符号)。示例1华为nova10预计6月发布,有望搭载全新5G保护壳华为nova系列的新品会在上半年发布,可是自从华为受到打压以来,华为手机新品的发布节奏受到严重的影响,去年华为nova9延迟了半年时间才发布,而目前华为也还未透露nova10的相关新能源汽车续航里程折扣有点狠中国消费者协会日前发布分析报告显示,新能源汽车续航里程缩水是消费者投诉主要问题之一,特别是冬季低温下续航折损快。有的车企在宣传时大多使用理想条件下的续航里程,但是这样的里程往往有很被遗忘的恒大汽车成立新能源汽车销售公司主攻网约车业务恒大,恒驰,已经成为2021年到2022年最火的词了。一个是横行中国多年的房地产巨擘,一个是房地产老板的造车梦。原本是指望靠着房地产赚的钱,再来汽车上绕一圈,结果房地产的崩盘,直接新能源汽车集体涨价,最高一辆涨3万,车企老板劝消费者接受现实文财经天下周刊王欣编辑陈芳新能源汽车涨价凶猛。芯片荒之后,上游原材料短缺加剧了新能源汽车生产的成本压力。动力电池原材料价格飙涨导致造车成本急剧上升,进入2022年以来,扛不住压力的江苏消保委通报不合格小家电美的美菱小熊等登榜来源中国经济网近日,江苏省消保委微信公众号发布造福单身族!迷你小家电是坑还是宝?测评告诉你,近年来,适用于12人日常生活需要的小型(迷你)家用电器,由于其实用和实惠,越来越受到青睐买时心疼,用着真香!这3种黑科技智能家电,幸福感倍增科技改变生活!在消费升级的趋势下,越来越多的黑科技智能家电走进我们的生活,解放我们的双手。相比传统的电器产品,智能家电显得更贴心和智能化,让生活变得更加简单,还能瞬间提升幸福感。高资本围捕,千亿赛道待爆解密和人类共生的虚拟人市场与世界小重讯今年冬奥的冰雪赛场上,实力破圈的除了万人迷冰墩墩,还有多个虚拟人角色。与谷爱凌仿若孪生姐妹的数字分身MeetGu,在中移动咪咕的演播室里完成了滑雪赛事解说播报及场景电商的虚拟