性能测试组件CodeBenchmark V2发布

        CodeBenchmark是一款可视化的性能测试组件,通过组件可以对一个或多个功能代码进行一个并发测试;最终通过详细的测试结果来对比不同代码的性能差异。

    组件的使用非常简单,构建一个控制台程序然后引入BeetleX.CodeBenchmark组件编写几个代码即可完成测试服务部署。

class Program{static void Main(string[] args){Benchmark benchmark = new Benchmark();benchmark.Register(typeof(Program).Assembly);benchmark.Start(80,true);}}

以上代码是添加一个基准测试服务,并引入当前程序集中所有的测试用例并在80端口中启用管理服务(如果当前系统是windows则会直接打开浏览访问)。

0515b76a3af6d4c4d902672b4ea7d4f0.png

        组件的测试代码需要自己编写具体的测试用例,测试用例规则是实现组件的IExample接口,以下是针对两个网站访问的简单用例:

[System.ComponentModel.Category("HTTP")]class BaiduGet : IExample{public void Dispose(){}public async Task Execute(){var result = await "https://www.baidu.com".FormUrlRequest().Get();}public void Initialize(Benchmark benchmark){}}[System.ComponentModel.Category("HTTP")]class WYGet : IExample{public void Dispose(){}public async Task Execute(){var result = await "https://www.163.com".FormUrlRequest().Get();}public void Initialize(Benchmark benchmark){}}

        通过组件可以针对用例添加多个并发测试方案,可以选择对应的并发数和测试时间进行压力测试。测试完成后会显示每个用例的测试情况和具体的延时分布。

673f66a1fe2118a7af6cb077aa7bb1a3.png

结果展示不同并发下的具体RPS情况和每个用例的具体延时分布,从而得到更高性能代码的测试结果。

接下来测试一下数据库操作分别在1Gb和10Gb网络下的性能差异:

589cdd43ac8aab5429f32f873a70b57c.png

下载使用示例:

https://github.com/beetlex-io/BeetleX-Samples/tree/master/CodeBenchmark.Sample

BeetleX

开源跨平台通讯框架(支持TLS)
提供高性能服务和大数据处理解决方案

8bc2b5bf6c3307106e0a272a539aa8c1.png

https://beetlex.io

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/294896.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一所传闻要被“降级”的211高校,让这位网红教授“救活了”

全世界只有3.14 % 的人关注了爆炸吧知识本文来源:量子位( ID: QbitAI) 作者:金磊 发自 凹非寺太原理工大学,最近着实有点火。先是11月12日至13日,其官网一口气更新了3位「杰青」副校长,在高校任…

加载elementor时出现问题_不锈钢管在焊接时出现问题要怎么解决?

佛山不锈钢装饰管焊接时会出现各种问题,今天佛山不锈钢装饰管厂家喜有沃小编就简单的整理了一些常见问题及解决方法,希望能对大家有所帮助。佛山不锈钢装饰管焊接制作护栏1, 表面气孔佛山不锈钢装饰管在焊接时产生表面气孔的原因一般为使用了…

Android之玩转MPAndroidChart让(折线图、柱形图、饼状图、散列图、雷达图)优雅的舞动

第一步:不废话,先爆照 我的github地址:https://github.com/changechenyu/MPAndroidChartTest 第二步:介绍MPAndroidChart适用场景并把它的库文件导入我们开发的项目 介绍: MPAndroidChart是一款基于Android的开源图表库,MPAndroidChart不仅可以在Android设备上绘制各种…

在PowerDesigner中设计物理模型1——表和主外键

在PD中建立物理模型由以下几种办法: 直接新建物理模型。设计好概念模型,然后由概念模型生成物理模型。设计好逻辑模型,然后由逻辑模型生成物理模型。使用逆向工程的方法,连接到现有的数据库,由数据库生成物理模型。物理…

.NET 6新特性试用 | 无需配置开发人员异常页

前言在.NET 6之前,我们需要在“Startup.cs”文件中手工配置开发人员异常页:if (env.IsDevelopment()) {app.UseDeveloperExceptionPage();app.UseSwagger();app.UseSwaggerUI(c > c.SwaggerEndpoint("/swagger/v1/swagger.json", "Web…

html5中表格如何等分,纯css3饼图五等分

先看效果图:HTML代码如下:pie良好优秀未提交需努力加油98%得分率css代码如下:.pinOfStudent{background-color: #ffffff;width: 100%;position: relative;}#tipZone{position:relative;left:0;right:0;top: 1em;width:12.5em;height:12.5em;m…

Android之开源框架NineOldAndroids动画库

1.介绍 Android3.0推出了全新的AnimationAPI,使用起来很方便,但是不能在3.0以下版本使用,NineOldAndroids是一个可以在任意Android版本上使用的AnimationAPI,API和Android3.0中的类似。 2.常用类 ObjectAnimator ValueAnimator A…

现在竟然还有补丝袜的?

1 看到柿子树千万不要踢(素材来源网络,侵删)▼2 原来上床下桌还能这么简陋(素材来源网络,侵删)▼3 你总是心太远心太远(via.炕上的卡夫卡)▼4 这个岗位的上一位同事离职原因▼5 …

微服务组件记事本:Skywalking的ES索引 · 收藏篇

(2021年倒计时33天)书接上文,在上回书中,我们说到了《微服务组件记事本:Skywalking执行效果 多图篇》,文章比较详细的展示了Skywalking中的各种数据和图表展示,有些小伙伴群里问我,…

计算机游戏50关,YELLOW游戏全50关攻略

yellow游戏是一款比较休闲的游戏作品,这款游戏中需要通过变换将屏幕全部调整成黄色,虽然操作不难,但比较考验思维能力,下面是全50关通关攻略,大家可以参考参考。【注:以下为攻略,不想看的不用点…

2021年将迎接你的是什么?

1 2021年迎接你的是...(素材来源网络,侵删)▼2 原来帅真的可以当饭吃(素材来源网络,侵删)▼3 我的芒果千层到了吗?(素材来源网络,侵删)▼4 这个岗位的上一…

log4j:WARN No appenders could be found for logger

2019独角兽企业重金招聘Python工程师标准>>> 提示这个错误是因为log4j的环境没有配置的原因,在src目录下新建一个log4j.properties的文件,黏贴如下内容即可解决。 # Configure logging for testing: optionally with log file log4j.rootLog…

推荐Mongodb GUI 可视化管理工具-NoSQLBooster

工欲善其事,必先利其器。虽然 MongoDB 已经提供了默认的管理工具(CLI)Shell 命令行,但是每次登录时都需要做身份认证,切换数据库等等一系列繁琐的操作,时间久了还是挺闹心的。实际开发中,还是会…

使用string.Format需要注意的一个性能问题

今天,我在写C#代码时,突然发现一个最熟悉的陌生人 —— string.Format。在写C#代码的日子里,与它朝夕相伴,却没有真正去了解它。只知道在字符串比较多时,用它比用加号进行字符串连接效率更高(当然也更方便&…

为什么说,每个人都应该多读些书?

全世界只有3.14 % 的人关注了爆炸吧知识知乎上有个高赞问题:有哪些值得长期坚持下去就能改变人生的好习惯?其中最高频的回答是读书。随着经历和阅历的增加,越来越多的人清醒的认识到:读书不再是学生时代的事,而是一生的…

兄弟机cnc系统面板图解_FANUC软操作面板的应用介绍,真的太详细了

FANUC软操作面板介绍:FANUC软操作面板功能是CNC系统软件的一项功能,可以利用MDI键盘上的光标移动按键和轴移动方向按键 代替机床操作面板的按钮,结合显示器的显示,实现与操作面板同样的功能。在CNC系统安装到机床上之前进行调试试…

C# 中静态调用C++dll 和C# 中动态调用C++dll

在最近的项目中,牵涉到项目源代码保密问题,由于代码是C#写的,容易被反编译,因此决定抽取核心算法部分使用C编写,C到目前为止好像还不能被很好的反编译,当然如果你是反汇编高手的话,也许还是有可…

有生之年必看!千古第一奇书《山海经》到底是怎样的一本书?

▲点击查看提到《山海经》,大家应该都耳熟能详。作为一部富有神话色彩的千古奇书,它记载了各种脍炙人口的神话传说,像女娲造人、夸父逐日、羿射九日、精卫填海、大禹治水……都是从这里诞生的。除了神话传说,它内容之博大&#xf…

sv队列和动态数组的区别_Go 刷 LeetCode 系列:经典(7) 设计双端队列

设计实现双端队列。你的实现需要支持以下操作:MyCircularDeque(k):构造函数,双端队列的大小为k。insertFront():将一个元素添加到双端队列头部。如果操作成功返回 true。insertLast():将一个元素添加到双端队列尾部。如果操作成功…

Android之事件总线EventBus详解

顾名思义,AndroidEventBus是一个Android平台的事件总线框架,它简化了Activity、Fragment、Service等组件之间的交互,很大程度上降低了它们之间的耦合,使我们的代码更加简洁,耦合性更低,提升了我们的代码质量…