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

性能测试中QPS取样器和RT取样器

  之前写过一个性能测试框架中QPS取样器实现,总体思路是通过一个异步工具类 com.funtester.frame.execute.Progress 来统计各个线程自己的统计数据(响应时间),然后再依据线程数计算实时的QPS。
  但是这个思路很容易受到数据(响应时间)取样的样本大小影响,因为对于混合接口压测场景中,不同接口的响应时间可能会差别很大。所有通过之前的思路就需要优化了,经过一些尝试终于确定了新的方案。 思路
  这个功能仅针对于静态压测模型来讲,因为动态压测模型实现思路已经很不一样了,强制统一不太合适。所以针对动态模型,我单独写了一个动态模型的QPS取样器,对于之前的静态模型,我重新实现了RT取样器。由于动态模型中并不会记录响应时间,暂时也没有增加RT取样器的计划。 对于静态模型的RT取样器。我添加了 com.funtester.base.constaint.ThreadBase#INTERCEPT 和com.funtester.base.constaint.ThreadBase#COUNT ,通过控制这两个开关来实现不同的功能。通过一个异步线程接口控制台输出内容,来控制RT取样器工作状态。对于动态模型中的QPS模型,用到了性能测试中的LongAdder,经过测试性能足够好。依然通过异步线程获取这个计数器的值当做QPS,然后每次重置即可。 对于动态模型中的线程模型,由于 com.funtester.base.constaint.ThreadBase 已经提供了com.funtester.base.constaint.ThreadBase#executeNum 当做每个线程的计数器,由于单线程的,所以并不用考虑线程安全的问题。直接将任务池中的com.funtester.base.constaint.ThreadBase 存活对象遍历一遍求和即可。实现静态模型
  取样器方法实现:     /**      * 取样器      *      * @param time      */     public static void statistic(int time) {         INTERCEPT = true;         sleep(time);         INTERCEPT = false;         CountUtil.FunIndex index = CountUtil.index(interceptCosts);         logger.info("当前QPS:{}", interceptCosts.size() / time);         logger.info("当前RT:{}", index.toString());         interceptCosts = new Vector<>();     }
  这里用到了 com.funtester.utils.CountUtil#index ,代码后面会附上。动态QPS模型
  之前写过一个基于 Disruptor 的动态QPS模型框架:高性能队列Disruptor在测试中应用  2021-12-28 千万级日志回放引擎设计稿  2021-12-30
  但是经过实际使用,并不适合,二次开发的复杂程度较高,目前已经放弃了。不过由于部分用例已经用上了,新的框架还没时间验证,所以还会保留一阵子。
  关于 Disruptor 获取实时QPS的可以翻一翻上面的文章,下面是新写的框架实现:            if (index++ % LOOP_INTERVAL == 0) logger.info("当前设计QPS:{},实际QPS:{} 活跃线程数:{}", qps, total.sumThenReset() / LOOP_INTERVAL as int, executor.getActiveCount())
  其中 com.funtester.frame.execute.FunEventConcurrent#total 作为单个测试任务的统计对象,这也是为以后多任务做铺垫。动态线程模型
  这个相对简单,不用考虑线程安全的问题,只是在每次输出增减内容之后输出当前任务池的信息即可。
  首先是任务池信息获取方法:     /**      * 获取实时当然任务池信息      */     public static synchronized void printInfo() {         long s = threads.stream().collect(Collectors.summarizingInt(f -> f.executeNum)).getSum();         sleep(1);         long e = threads.stream().collect(Collectors.summarizingInt(f -> f.executeNum)).getSum();         logger.info("当前任务数:{} QPS:{}", aliveSize(), e - s);     }
  其次是在处理控制台输出内容的内部类稍微改造一下:     private static class FunTester implements IFunController {          boolean key = true;          @Override         public void run() {             while (key) {                 String input = getInput();                 switch (input) {                     case "+":                         add();                         break;                     case "-":                         reduce();                         break;                     case "*":                         over();                         key = false;                         break;                     default:                         if (Regex.isMatch(input, "(F|f)d+")) THREAD_STEP = changeStringToInt(input.substring(1));                         break;                 }                 FunThread.printInfo();             }         }          @Override         public void add() {             range(THREAD_STEP).forEach(f -> {                 addTask();                 sleep(0.5);             });         }          @Override         public void reduce() {             range(THREAD_STEP).forEach(f -> {                 removeTask();                 sleep(0.5);             });         }          @Override         public void over() {             FunThread.stop();             logger.info("动态结束任务!");         }      } Have Fun ~ Tester !

配ampampquot魔术座椅ampampquot,不输20万级合资却只要10万,带你看RM5在我们家还没迎来第二个小天使的时候,家里的那台锋范还能承载我们全家出行的重任。但随着老二出世之后,渐渐长大,每次父母过来玩,锋范就难以再满足我们全家出游的需求了。因此我便和老婆商量亲民的大众掀背,涡轮自吸随便选,降至7万的明锐能不能买?提及大众品牌的掀背车,许多人第一时间或许会想到大众CC。的确,在国内消费者的固有认知中,大众CC是最能代表大众高颜值与实用性。但实际上,大众汽车旗下的掀背车并不止大众CC一款,例如真正的越野大坦克,BJ40原厂ampampquot三把锁ampampquot,有它还买牧马人?近期国产越野车领域中,名气最大的或许就是坦克300了,该车虽然是魏派的试水之作,但刚面世就成为了网红。不可否认,坦克300的确有一定实力可满足用户的需求,但从某种角度来看,坦克30年终买车,想要抄底?这三款SUV可考虑,均是优惠大品质高转眼间,2020年已即将宣告结束,在这个时间点,诸多打算在年终买车的消费者也都开始了选车看车与提车。而提及年终买车,不知道大家是最关注车型的品质,还是车型的优惠呢?我想绝大多数消费ampampquot沙漠王子ampampquot唯一继任者,途达仅15万起,选它还是坦克300?提及日产汽车,很多人的第一印象通常都是大沙发,事实上作为一家综合实力极强的汽车品牌,日产汽车在性能越野方面均有着极高的成就与造诣,而它旗下最具代表性的两款车便是GTR和途乐。经过改恒大超跑真的来了,配2。0T引擎,提速仅1。9秒,在中国首发曾经记得某位造车新势力领导说过造车是一件极其烧钱的事情,但没想到那么烧钱。的确,汽车行业是非常需要消耗资金的,因此蔚来小鹏理想才会纷纷选择赴美上市。虽然造车需要大量的资金,但生产汽哪里有多引擎数据库管理工具DataGrip注册码?怎么汉化?Mac多引擎数据库管理工具DataGrip2019一款强大的多引擎数据库管理工具,可满足数据库管理员和SQL开发人员的需求,支持广泛的数据源,并提供许多有用的工具,可以加快您的工作IBMSPSSStatistics统计和数据模型有哪些优点?怎么激活?BMSpsSStatisticsMac是世界上应用最广泛的专业统计和数据模型软件之一。具有数据录入资料编辑数据管理统计分析报表制作图形绘制等功能,而且随着版本的不断更新功能也在不断哪里有多引擎数据库管理工具DataGrip注册码?怎么汉化?哪里有多引擎数据库管理工具DataGrip注册码?怎么汉化?Mac多引擎数据库管理工具DataGrip2019一款强大的多引擎数据库管理工具,可满足数据库管理员和SQL开发人员的需免费通用数据库DBeavermac支持的数据库和平台有哪些?DBeavermac支持的数据库和平台有哪些?DBeaverforMac(免费通用数据库工具)免费版推荐给大家!DBeaverforMac适用于开发人员,SQL程序员,数据库管理员WeatherSnoop4随时了解天气情况,做好出门准备!每天出门前首先关注的是今天的天气情况,看看是否有雨有雪或者暴晒小编今天为大家带来了WeatherSnoop4,一款非常不错的个人天气软件,让你随时了解天气情况,做好出门准备!有需要
荣耀平板V7系统功能详解,你都知道吗?我想你不一定都知道荣耀平板V7平板究竟有哪些功能呢?虽然很多人都会说智慧多窗,平行视界,电脑模式啥得,不过真正体验得人其实没有多少,那就由我来细说些系统功能的小细节把。1。系统界面全新的荣耀magi你相信网红的人设?26美女靠人设借钱1400多万,压根没打算还现在,有越来越多的人开始玩短视频和直播,而要玩好短视频和直播,打造自己的人设是一个非常重要的环节,因为只有粉丝们认可你这个人,才会给你带来更大的商业价值。那么,网红的人设到底靠不靠一亿像素的顶级旗舰小米10搭载骁龙865,到底值不值得购买?现在,很多人使用手机两三年后就会换一款新的手机,主要是新手机的硬件配置和功能越来越强大,不少网友禁不住诱惑,于是就换了新手机。其实,小编也是一个手机发烧友,喜欢经常换手机,原先用的网友不解穷凶极恶奸杀10岁女童的嫌犯,为何会改判死缓?发生在两年前的一桩案子,曾经引起了很多网友的愤怒那是在2018年,广西钦州市灵山县伯劳镇平心村一名成年男子将同村一名只有10岁的女童强奸并杀害,案子发生后,这个嫌犯被抓获,当时很多保险公司又闹笑话?华阴女子投保期间病危,人寿不够严重不赔最近一段时间,经常听到有人调侃保险公司,而比较经典的段子就是保险公司有两不赔这也不赔,那也不赔。当然了,这是网友们的调侃,不过也说明了一些保险公司在理赔时候的一些态度能不赔就尽量不小优同学伴学笔,孩子们的学习启蒙老师视频加载中前言2021年5月,我国自主研发的天问一号火星探测器成功安全着陆在距离地球5500万公里的火星表面上,这一伟大历史时刻标志着我国航天技术走在了世界的前列,同时也让世界对中酷派最新手机发布,这配置,我默默地拿起了Redmi至尊版酷派于8月12日再次发布了新的手机,酷派从曾经的四大霸主的地位跌落至如今在手机行业中名不见经传的地步,这与华米ov的崛起及酷派的老化是分不开的。酷派最新发布的手机名为酷派X10,这暗影骑士擎降价了!5199的价格!超强的配置,你还在等什么!宏碁的暗影骑士擎可以说在50006000元的价位中算是非常不错的笔记本,其电脑配置属实非常不错,在同等价位中是非常具有竞争力的存在,而且也是非常不错的选择。CPU搭载了第十代酷睿i韩国仙女级DJ火了,外貌神似加强版刘亦菲,这才是殿堂级美貌说起娱乐圈中那些神仙颜值,大家可能会想起杨幂迪丽热巴古力娜扎这样的明星,不过她们也确实都是非常的漂亮,但是今天我们来说说神仙姐姐刘亦菲,刘亦菲是一个从小美到大的女明星,她那气质脱俗孩子们的网络保镖,360青少年模式给孩子们一个安全的网络空间自从有了互联网我们的生活得到了巨大的改变,如今互联网的发展在这短短20年里得到了质的飞跃。从以前的调制解调器上网到现在的光纤宽带上网使得我们的网络内容越来越丰富,但并不是所有的内容轻松生活新体验,家的安全德施曼Q5智能锁帮你搞定视频加载中前言一把好的门锁对于家居安防起着决定性的作用,就拿我住的小区来讲,由于没有物业管理,在治安管理上较差,我们的小区更曾发生过入屋盗窃的案例,因此大家对于家居安防都非常的重视