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

性能测试中过滤异常的响应时间

  众所知周,及时排除了JVM尚未完全预热的因素以外,在所有请求中总有一些异常请求响应时间,今天分享一个案例:通过过滤测试刚开始时候的响应时间记录来提升整体数据的准确性。
  优化来源于需求,本来FunTester测试框架不准备在本机统计上做优化的,因为现在公司的监控系统太强了,大部分需求的数据可以直接直观地从监控页面上实时得到。但是在最近一次JDK升级和各个GC以及参数的性能对比测试中,监控得到的数据都是网关和服务端统计的结果,跟实际的用户场景有一定差异,所以需要在发压端统计一下RT情况。  统计功能实现
  响应时间均为 short  数组,对于单线程来讲存放在List costs  中,对于压测用例来讲,存放在Vector  中。所以只要写一个针对List<? extends Number> c  的统计方法即可。思路是排序然后去各个分位的值,如下:     /**      * 统计list各分位数据      * @param c      * @return      */     static FunIndex index(List<? extends Number> c) {         if (c == null || c.size() == 0) return         c.sort()         int size = c.size()         double min = c.first()         double max = c.last()         double p99 = c.get(size * 0.99 as Integer)         double p999 = c.get(size * 0.999 as Integer)         double p95 = c.get(size * 0.95 as Integer)         double avg = SourceCode.changeStringToDouble(SourceCode.formatNumber(c.average(), "#.###"))         def mid = c.get(size / 2 as Integer)         new FunIndex(avg: avg, mid: mid, min: min, max: max, p99: p99, p999: p999, p95: p95)     }       /**      * 统计结果      */     static class FunIndex extends AbstractBean {          Double avg          Double mid          Double min          Double max          Double p99          Double p999          Double p95          @Override         String toString() {             "平均值:$avg ,最大值$max ,最小值:$min ,中位数:$mid p99:$p99 p95:$p95"         }     }  FunTester框架改造
  对于每个线程来讲,取消各自计算响应时间和直接往 List costs  存放数据,通知放到com.funtester.base.constaint.ThreadBase  中方法统一实现。
  代码如下:      /**      * 是否记录响应时间,默认否      */     public static boolean COUNT = false;          /**      * 记录响应时间      *      * @param s 开始时间      */     public void count(long s) {         if (COUNT && executeNum > 100) costs.add((short) (Time.getTimeStamp() - s));     }
  PS:后续会更新一个RT取样器实现,也是通过这个思路完成的。
  这样一来,既可以过滤每个线程最开始的100个请求数据,也可以减少性能测试中本地代码执行量。
  下面分享一下线程模型的改造后的 com.funtester.base.constaint.FixedThread#run  方法内容:      @Override     public void run() {         try {             before();             long ss = Time.getTimeStamp();             while (true) {                 try {                     executeNum++;                     long s = Time.getTimeStamp();                     doing();                     count(s);                 } catch (Exception e) {                     logger.warn("执行任务失败!", e);                     errorNum++;                 } finally {                     if ((isTimesMode ? executeNum >= limit : (Time.getTimeStamp() - ss) >= limit) || ThreadBase.needAbort() || status())                         break;                 }             }             long ee = Time.getTimeStamp();             if ((ee - ss) / 1000 > RUNUP_TIME + 3)//区分软启动运行和正式运行                 logger.info("线程:{},执行次数:{},错误次数: {},总耗时:{} s", threadName, executeNum, errorNum, (ee - ss) / 1000.0);             Concurrent.allTimes.addAll(costs);             Concurrent.requestMark.addAll(marks);         } catch (Exception e) {             logger.warn("执行任务失败!", e);         } finally {             after();         }     }
  沿着这个思路,再加上动态模型之动态增减【FunTester测试框架】相同的思路,我计划拓展一个 RT取样器实现 也会使用异步线程完成,敬请期待。 Have Fun ~ Tester !

远程控制的5G空调您了解吗?前几天我关于手机有5G了,那您知道空调也可以实现5G互联吗?中讲述了5G空调的互联,今天带大家一起学习探讨VAM尊睿无界和VAM尊睿别墅以及VAM尊睿(全效型)还有SETFREE智防止被割韭菜,买新手机之前的4个忠告,让你新机多用3年苹果华为OPPOvivo小米魅族realme红米iQOO,这么多手机品牌的手机怎么选?高考完了,不管是分类高考,还是普通高考,只要考完了就代表我们解放了。考完的第一件是,很多人都是OPPOK10Pro全面评测全方位升阶,硬核不止性能从首款千元屏幕指纹手机OPPOK1开始,OPPOK系列的硬核之路便一发不可收拾。硬核初现的OPPOK3系列初尝5G的OPPOK7系列直至最近的硬核轻旗舰的OPPOK9系列均将硬核性vivo悄然发布中端机型,核心性能提升,1899元起步2022年的vivo虽然发布会时间较晚,但惊喜是一轮接一轮,发布会节奏非常快,从旗下首款折叠屏机型vivoXFold和大屏旗舰vivoXNote,到2022年的新款年度旗舰机型vi如何正确释放C盘提升电脑速度我经常发现电脑C盘内存几乎用尽,可用内存少的可伶,出现这样的原因是下载软件的默认位置放在C盘,而几乎很少有人去改变默认的下载路径,久而久之C盘内存就不够用了,当出现C盘容量不足时,吉利手机外观专利获批,网友与魅族有关吗?大家还记得前段时间行业内传言吉利收购魅族之事吗?虽然这个事没有了下文,但是吉利进军智能手机行业是板上钉钉的事,已经确认了。旗下的首款手机极有可能在今年发布,这不吉利首款手机的外观专发力第二曲线业务布局2022年中兴通讯(000063。SZ)手机业务坚持在产品品牌渠道上发力智通财经APP讯,中兴通讯(000063。SZ)在4月21日接受摩根士丹利等机构代表调研时表示,2021年第四季度单季毛利率环比下降主要受到国内运营商资本开支节奏,同时公司消费者业女子频繁索赔,被美团封锁账号,找电台曝光被怼你放过人家吧导读上海一女子疑似因薅羊毛被美团封杀,不服气想申诉,被主持人怒怼!近日,上海一女子的行为引发了争议。据悉,该女子于2月份频繁通过美团平台网购,每次网购的经历都不太愉快,不是配送超时明日之后IP加持,能满帧运行原神的红魔7迎来全新美学设计4月25日红魔品牌四周年新品发布会上,红魔游戏手机再次给我们带来了令人期待的明日之后特别版新机,让我们再次见证了红魔强大的产品创新力。据了解,明日之后特别版是红魔与国内废土生存手游安全节能精工品质,我选奥特朗即热式热水器家有热水器经常会遇到不少问题,比如耗电量高烧水效率低安全系数没保障容易出故障等,而且大部分家用电热水器还占空间,问题还真不少。我们家选用的奥特朗即热式电热水器,完美解决了这些问题。突发,网易云音乐起诉腾讯音乐不要把功夫下在邪道上4月27日,网易云音乐发声明宣布,正式起诉腾讯音乐不正当竞争,包括旗下QQ音乐酷我音乐酷狗音乐,并列出数个侵权行为。声明中提到,腾讯音乐恶意侵犯著作权涉嫌对抗整改,抄袭对网易云音乐
安卓的数字钱包可显示驾驶执照信息各国政府一直在探索数字驾驶执照,但现有方法存在很多缺陷。驾驶员通常必须依赖专有应用程序,有的应用程序安全性上甚至存在隐患。驾照也要电子化(图片来源engadget)而且要是手机在打转机!德国称将不想将华为排除5G网络建设德国经济部长阿特麦尔(PeterAltmaier)今天指出,德国不想禁止中国电信设备制造商华为替德国建造5G网络,表示柏林将对所有卖方更加严格规定安全标准。路透社报导,阿特麦尔在德企业应用快速跨向容器时代的正确姿势戳蓝字CSDN云计算关注我们哦!编者按1月18日,网易云首席解决方案架构师刘超在微信群带来了主题为企业应用快速跨向容器时代的正确姿势的线上讲座,顺接上个月云计算的前世今生,为大家进2019年中国互联网就业洞察白皮书核心摘要2018年,互联网人才的薪酬变化随着公司融资轮次的增长而增长,D轮及以上公司为人才所付的薪酬达到了每个月1。5万。同时,互联网企业招聘互联网人才看重的核心因素除了专业技能之MIUI官微晚上八点见难道是MIUI11要来?开年以来,小米新机发布节奏颇快,看起来,软件方面也要马不停碲地追赶了。3月20日下午,MIUI官方微博预热晚上八点见,截止发稿,关于MIUI11的评论被顶在最前。事实上,距离去年5太省电了!英伟达发布的这款电脑功耗仅5WPConline资讯近日,显卡大厂NVIDIA在美国硅谷召开GTC2019演讲,会上CEO老黄发布了一款机器人开发者工具箱JetsonNano,该机机身长宽只有69。6x45mm,KaiOS势头迅猛引谷歌眼红,安卓或将进军功能机市场最近两年手机操作系统里面KaiOS发展之势迅猛。但是如果你甚至都没听说过那也很正常,因为它的市场是在功能机上。KaiOS是一个基于Linux的移动操作系统,目标是将智能手机的强大与量子通信安全性讨论升级,中科大摆下擂台窃取密钥者奖百万在理论上绝对安全的量子通信惊现破绽?一篇研究量子通信攻防的论文引发广泛讨论,中科大量子通信团队迅速做出了多重回应,从学理讨论升级到实战演练。先有中科大量子通信领军人物潘建伟院士等52018全球仪器公司榜单出炉仪器仪表已形成庞大市场规模3月4日,CampEN杂志公布了2018年度全球仪器公司TOP20排位名单。CampEN跟踪的20家公司的整体仪器销售额增长了6。2,其中,前五大仪器制造商占去年前20家公司销售额深圳有哪些知名企业?深圳的发展是一个奇迹,有谁会想到,当初一个默默无闻的小渔村,伴随着改革开放成为我国的第一个经济特区,如今已经发展成为我国的四个一线城市之一,中国的科创之都?2018年GaWC组织把Redmi首款真无线蓝牙耳机RedmiAirDots,售价99。9元!刚刚在Redmi春季新品发布会上,除了期待已久的RedmiNote7Pro和Redmi7手机外,Redmi还带来了一款真无线蓝牙耳机RedmiAirDots。RedmiAirDot