干翻 nio ,王炸 io_uring 来了 ,史上最详细说明及最全图解!!

Image
大趋势:全链路异步化,性能提升10倍+ 随着业务的发展,微服务应用的流量越来越大,使用到的资源也越来越多。 在微服务架构下,大量的应用都是 SpringCloud 分布式架构,这种架构总体上是 全链路同步模式 。 全链路同步模式 不仅造成了资源的极大浪费,并且在流量发生激增波动的时候,受制于系统资源而无法快速的扩容。 全球后疫情时代,降本增效是大背景。如何降本增效?一条好的路径: 全链路同步模式  ,升级为  全链路异步模式 。 全链路异步模式 改造 具体的内容,请参考尼恩的深度文章: 全链路异步,让你的 SpringCloud 性能优化10倍+ 先回顾一下全链路同步模式架构图 全链路同步模式  ,如何升级为  全链路异步模式 , 就是一个一个 环节的异步化。 40岁老架构师尼恩,持续深化自己的3高架构知识宇宙,当然首先要去完成一次牛逼的 全链路异步模式 微服务实操,下面是尼恩的实操过程、效果、压测数据(性能足足提升10倍多)。 全链路异步模式 改造 具体的内容,请参考尼恩的深度文章: 全链路异步,让你的 SpringCloud 性能优化10倍+ 并且,上面的文章,作为尼恩 全链路异步的架构知识,收录在《 尼恩Java面试宝典 》V52版的架构专题中 注:本文以 PDF 持续更新,最新尼恩 架构笔记、面试题 的PDF文件,请从这里获取: 语雀 或者 码云 全链路异步化的最终目标 全链路异步化的最终目标,如下图所示: 应用层:编程模型的异步化 框架层:IO线程的异步化 OS层:IO模型的异步化 一:应用层:编程模型的异步化 这个请大家去看 尼恩的 《 响应式 圣经 PDF 》电子书 随着 云原生时代的到来, 底层的 组件编程 越来越 响应式、流化, 从命令式 编程转换到 响应式 编程,在非常多的场景 ,是大势所趋。 而响应式编程, 学习曲线很大, 大家需要多看,多实操。 二:框架层:IO线程的异步化 这个大家 都选择 具有异步 回调功能的 异步线程模型,如 Reactor 线程模型 这个是面试的绝对重点 IO的王者组件,Netty框架,整体就是一个 Reactor 线程模型 实现 也是非常核心的知识,这里不做展开,请大家去看尼恩的畅销书《Java 高并发核心编程卷 1 加强版》。 三:OS层:IO模型的异步化 目前的一个最大难题,是IO模型的异步化。 注意,Netty

复刻 smartbits 的国产网络测试工具 minismb - 如何测试 ip 限速及网络连接数测试方法

复刻 smartbits 的网路性能测试工具 MiniSMB,是一款专门用于测试智能路由器,网络交换机的性能和稳定性的软硬件相结合的工具。可以通过此工具测试任何 ip 网络设备的端口吞吐率,带宽,并发连接数和最大连接数等诸多参数指标。

MiniSMB 工具最新版本为 3.3.0 版。

本次使用 MiniSMB 工具以爱快公司的软件路由器为例进行 ip 最大连接数测试。

本次被测试主机设备(DUT)硬件环境为:intel 赛扬 G1800:2.7GHz,2G 内存。软件环境为:iKuai8_3.1.5_Build201901241133(免费版)。默认配置启用 NAT。 

总体来说,iKuai 的基本 NAT 转发性能还是可以满足目前大部分用户的要求。平均数据包长度达到 256 字节的时,转发性能已经达到 1G 线速 (单向转发)。通过测试发现 iKuai 路由器连接数超过 70000 条以后,性能就下降至 <1Mbps。CPU 达到 100% 左右。

测试拓扑图:

 

 MiniSMB 软件工具配置:

配置 70000 条流

配置模拟客户端信息

测试结果:iKuai 软件中显示 cpu 即将达到 100%。

MiniSMB 软件中显示接收到的数据 < 1Mbps。

 

转发率:测试路由器 3 层功能时,转发率比吞吐率的指标更重要。转发率是指每秒路由器转发数据包的个数。数据包越小,带宽越高,转发率就越高。

pps = throughput/packet size

 1G 带宽下,如果数据包长度为 60B,则转发率需要达到 1,488,095 才能达到线速 (满带宽)。如果数据包长度为 1514B,则转发率需要达到≈82,000 就能达到线速 (满带宽)。

Comments

Popular posts from this blog

便宜好用又稳定的VPN-桔子云,性价比极高!

V2rayN 电脑客户端如何在 win7/win10/win11上 实现全局代理

IOS小火箭/Shadowsocks无需AppleID即可在线安装!