这一版本的主要升级了BeetleX的基础网络库,主要解决在某些情况导致解释http协议cpu暴增长的问题,同时使用BeetleX新版本针对的IndexOf的优化,使http协议解释上有着一定程度的性能提升。

新版本同样也是支持win64和linux64两个版本,具体安装使用可查看

【BeetleX之Web网关1.5.7安装使用】。以下相关功能使用截图

性能测试

对于一个网关来说性能一个比较关心的指标,接下来针对1.5.8做一个简单的吞吐测试。这些测试也只是简单地测试一下,使用的操作系统是桌面版本的win10,cpu则是使用E1230V2一款非常老的4核8线程CPU,内存则是16GB,网络则选用10Gb的光模(主要1Gb无法满足测试的需求)。

为了能把网关服务压到极限,所以压测服务器和API服务器则选择一台20核32G内存的WIN2008服务器,确保压测程序和API服务能够满足网关的需求。

这一次测试并不是简单地返回一个字符串,而是更符合实际应用地返回不同大小的数据列表,结构如下:

[{"customerID": "ALFKI","companyName": "Alfreds Futterkiste","contactName": "Maria Anders","contactTitle": "Sales Representative","address": "Obere Str. 57","city": "Berlin","postalCode": "12209","country": "Germany","phone": "030-0074321","fax": "030-0076545"}
]

测试分了5个批次来进行,分别是获取1,5,10,20和50个客户信息。测试工具使用bombardier每次使用100并发压测网关的响应吞吐能力。以下是测试的详细结果:

D:\>bombardier.exe -c 100 -n 1000000 http://192.168.2.18/customers?count=1
Bombarding http://192.168.2.18/customers?count=1 with 1000000 request(s) using 1
00 connection(s)1000000 / 1000000 [==============================================] 100.00% 22s
Done!
Statistics        Avg      Stdev        MaxReqs/sec     44083.12    3238.01   49047.30Latency        2.27ms     2.98ms   609.03msHTTP codes:1xx - 0, 2xx - 1000000, 3xx - 0, 4xx - 0, 5xx - 0others - 0Throughput:    19.59MB/s
D:\>bombardier.exe -c 100 -n 1000000 http://192.168.2.18/customers?count=5
Bombarding http://192.168.2.18/customers?count=5 with 1000000 request(s) using 1
00 connection(s)1000000 / 1000000 [==============================================] 100.00% 21s
Done!
Statistics        Avg      Stdev        MaxReqs/sec     46818.87    5258.01   54296.74Latency        2.13ms     2.22ms   615.03msHTTP codes:1xx - 0, 2xx - 1000000, 3xx - 0, 4xx - 0, 5xx - 0others - 0Throughput:    66.88MB/s
D:\>bombardier.exe -c 100 -n 1000000 http://192.168.2.18/customers?count=10
Bombarding http://192.168.2.18/customers?count=10 with 1000000 request(s) using
100 connection(s)1000000 / 1000000 [==============================================] 100.00% 23s
Done!
Statistics        Avg      Stdev        MaxReqs/sec     42954.14    4766.32   53000.00Latency        2.33ms     2.57ms   606.03msHTTP codes:1xx - 0, 2xx - 1000000, 3xx - 0, 4xx - 0, 5xx - 0others - 0Throughput:   113.73MB/s
D:\>bombardier.exe -c 100 -n 1000000 http://192.168.2.18/customers?count=20
Bombarding http://192.168.2.18/customers?count=20 with 1000000 request(s) using
100 connection(s)1000000 / 1000000 [==============================================] 100.00% 27s
Done!
Statistics        Avg      Stdev        MaxReqs/sec     36768.81    1938.67   40747.56Latency        2.72ms    86.82us    30.00msHTTP codes:1xx - 0, 2xx - 1000000, 3xx - 0, 4xx - 0, 5xx - 0others - 0Throughput:   184.96MB/s
D:\>bombardier.exe -c 100 -n 1000000 http://192.168.2.18/customers?count=50
Bombarding http://192.168.2.18/customers?count=50 with 1000000 request(s) using
100 connection(s)1000000 / 1000000 [==============================================] 100.00% 39s
Done!
Statistics        Avg      Stdev        MaxReqs/sec     25329.65    2414.78   28948.41Latency        3.94ms     2.41ms   626.03msHTTP codes:1xx - 0, 2xx - 1000000, 3xx - 0, 4xx - 0, 5xx - 0others - 0Throughput:   314.18MB/s
D:\>

以下是网关所在操作系统监控50客户个数获取的带宽情况,收发分别是2.8Gb,网关吞吐交互的总带宽量在6Gb左右。

以上是1.5.8的一些性能测试情况,不过这次测试并没有反映出网关的最高性能,毕竟操作系统并没有使用服务器版本进行一个压测。不过从数据来说在一台这么旧的电脑上能达到这么高带宽吞吐交互性上表现已经非常出色。

(提醒:独立版的网关并发受限,需要授权才能开启更高并发。想做测试可以引用组件,组件代码不限制,详情可访问:https://github.com/beetlex-io/Bumblebee)

BeetleX 之 WebApi网关1.5.8发布相关推荐

  1. 开箱即用Bumblebee独立部署搭建webapi网关详解

    在之前的章节里都是讲述如何在程序中使用Bumblebee来构建一个Webapi网关:但这样显然有些麻烦,毕竟很多时候可能只需要一个简单负载处理,还需要写个程序针对服务进行编写代码或配置的确是比较麻烦的 ...

  2. WebApi网关之Bumblebee和Ocelot性能对比

    Bumblebee是基于.net core 2.1开发的WebApi网关组件,由于Bumblebee所追求的轻量化和性能,所以它并没有像Ocelot那样从asp.net core上进行扩展:而是构建在 ...

  3. Go语言实现FastDFS分布式存储系统WebAPI网关

    前言 工作需要,第一次使用 Go 来实战项目. 需求:采用 golang 实现一个 webapi 的中转网关,将一些资源文件通过 http 协议上传至 FastDFS 分布式文件存储系统. 一.Fas ...

  4. 阿里api网关接口创建、发布、授权、调试

    阿里api网关接口创建.发布.授权.调试 下面会出现关于签名认证和阿里云api认证的概念以及认证方式的选择,如果这些还不是很清楚的可以看下我的上篇文章: <阿里云api网关的认证方式介绍以及选择 ...

  5. BeetleX之Web网关1.5.7安装使用

    新版的网关主要升级到BeetleX最新版提高http协议的解释性能,从而让网关的吞吐能力进一步提升,在功能界面上也做了简单的调整让操作更方便,修复linux下无权限启动进程问题.如果在windows上 ...

  6. BeetleX之HTTP网关部署

    BeetleX组件提供了HTTP网关组件,但使用过程中需要自己写宿主程序来启动它.为了更好的直接使用,组件发布了一个基于.net core 3.1的可运行版本程序并集成了管理插件:只需下载程序即可以在 ...

  7. 使用BeetleX网关部署第三方Web服务

    BeetleX的http/ws网关在早期版本可以启动和管理第三方Web服务进程,在最新的1.5版本中引入了文件管理功能,通过这一功能可以对第三方Web服务进行发布管理. 加入文件管理后BeetleX的 ...

  8. 成本直降50%,下一代网关震撼发布

    作者|如葑 传统网关分类及部署模式 行业中通常把网关分为两个大类:流量网关与业务网关,流量网关主要提供全局性的.与后端业务无关的策略配置,例如阿里内部的的统一接入网关 Tengine 就是典型的流量网 ...

  9. 一站式Web开发套件BeetleX.WebFamily

    BeetleX.WebFamily是一款前后端分离的Web开发套件,但它并不依赖于nodejs/npm/webpack等相关工具:而使用自身实现的方式来完成前后端分离的Web应用开发:套件以组件的方式 ...

最新文章

  1. vs2005无法断点调试网站,断点失效
  2. zip()和zip(*)的区别与使用
  3. C:\WINDOWS\WinSxS目录介绍,来自百度词条
  4. Android面试题(五) --重要
  5. 新一代音视频技术架构驱动未来多媒体创新
  6. python seaborn_Python数据分析之Seaborn(样式风格)
  7. 多个ajaxFileUpload上传图片与ajax合用,解决同步问题,用户随意上传多少图片都可以;
  8. C语言中变量名加括号,为什么在声明变量时C ++允许我们在括号内将变量名括起来?...
  9. paip.python pyqt 加载ui 方法使用connect总结attilax
  10. visio 连接线样式设置 如箭头线
  11. 网络信息安全之纵深防御
  12. 服务器上怎么开启vt虚拟化功能,如何开启VT虚拟化功能
  13. go 获取文件的md5值
  14. STM32L476RG利用串口下载程序
  15. ANSYS License管理器程序的步骤-Windows版
  16. VS 2019 C++ 如何在非控制台程序中打开控制台
  17. 超详细:将iPhone中音乐导出到电脑里的简单方法(完美支持最新iOS15.2系统)
  18. 论文写作基础之文献研究法与访谈法介绍
  19. 最全软件测试工具大全
  20. 语音识别java版demo

热门文章

  1. 增加新分类daily——“每天学了啥?”
  2. CentOSLinux安装Docker容器
  3. Git删除分支/恢复分支
  4. ASP.NET登录以及注册
  5. 深入Java集合学习系列:ConcurrentHashMap之实现细节
  6. IE6.0、IE7.0 、FireFox 在样式中的不同写法.doc
  7. 罗斯文2007(Northwind 2007)数据库、Access 2007 样列数据库分析[转]
  8. Team photo的新api
  9. 如何在Windows 10上跳过回收站以删除文件
  10. 初学者对python的认识_Python初学者列表,python,初识