Posts

Showing posts from July, 2022

干翻 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模型的异步化 目前的一个最大难题,...

Windows XP SP2 SP3 original full series download includes home retail 32-bit 64 bit (all MSDN original)

Genuine windows xp sp3 download book (with: genuine key) Microsoft MSDN Windows XP Professional Download Windows XP Professional Simplified Chinese (the most original version, no SP) [505.63MB File name: CN_WINXP_PRO_ISO.img Size: 530186240 bytes SHA1:73800FE8959F40361BAE3A6553CC66D27D78722E Download Address: ed2k://|file|CN_WINXP_PRO_ISO.img|530186240|7855069CE4216615D761654E2B75A4F7|/ Download instructions: Copy the address to the new task bar in Xunlei Windows XP Professional with SP2 Simplified Chinese [600.08MB File name: sc_winxp_pro_with_sp2.iso Size: 629227520 bytes SHA1:92934976213BB9201057281A200F84127BE0050D Download Address: ed2k://|file|sc_winxp_pro_with_sp2.iso|629227520|505B810E128351482AF8B83AC4D04FD2|/ Windows XP Professional with SP2 VOL Simplified Chinese [592.56MB File name: sc_win_xp_pro_with_sp2_vl.iso Size: 621346816 bytes SHA1:C0ADDD927B5D1F93DCE9C455FD6B26EAC7391BE9 Download Address: ed2k://|file|sc_win_xp_pro_with_sp2_vl.iso|621346816|6F27DB53806D79FE37A0EDEC0...

Windows XP SP2 SP3 原版全系列下载 包含家庭版 零售版 32位 64位 中英 (均为MSDN原版)

Image
正版windows xp sp3 下载大全(附:正版密钥) 微软MSDN Windows XP Professional下载 Windows XP Professional 简体中文 (最原始版本,无SP)【505.63MB】 文件名:CN_WINXP_PRO_ISO.img 大小:530186240字节 SHA1:73800FE8959F40361BAE3A6553CC66D27D78722E 下载地址:ed2k://|file|CN_WINXP_PRO_ISO.img|530186240|7855069CE4216615D761654E2B75A4F7|/ 下载说明:将地址复制到迅雷里的新建任务栏里即可 Windows XP Professional with SP2简体中文【600.08MB】 文件名:sc_winxp_pro_with_sp2.iso 大小:629227520字节 SHA1:92934976213BB9201057281A200F84127BE0050D 下载地址:ed2k://|file|sc_winxp_pro_with_sp2.iso|629227520|505B810E128351482AF8B83AC4D04FD2|/ Windows XP Professional with SP2 VOL简体中文【592.56MB】 文件名:sc_win_xp_pro_with_sp2_vl.iso 大小:621346816字节 SHA1:C0ADDD927B5D1F93DCE9C455FD6B26EAC7391BE9 下载地址:ed2k://|file|sc_win_xp_pro_with_sp2_vl.iso|621346816|6F27DB53806D79FE37A0EDEC04AA9B05|/ 附上安装密钥: B66VY-4D94T-TPPD4-43F72-8X4FY VCFQD-V9FX9-46WVH-K3CD4-4J3JM HCQ9D-TVCWX-X9QRG-J4B2Y-GR2TT Windows XP Professional with SP3简体中文【601.04MB】 文件名:zh-hans_windows_xp_professional_with_service_pack_3_x86_cd_x14-80404.iso 大小:6...

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

Image
复刻 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 就能达到线速 (满带宽)。 本文转载自: https://www.cnblogs.com/minismb/p/10505251.html

TCP 协议中 MSS 的理解,如何确定MSS

在介绍 MSS 之前我们必须要理解下面的几个重要的概念。 MTU: Maxitum Transmission Unit 最大传输单元 MSS: Maxitum Segment Size 最大分段大小 PPPoE: PPP Over Ethernet(在以太网上承载 PPP 协议),就是因为这个协议的出现我们才有必要修改我们的 MSS 或者是 MTU 值。 MTU 最大传输单元,这个最大传输单元实际上和链路层协议有着密切的关系,EthernetII 帧的结构 DMAC+SMAC+Type+Data+CRC 由于以太网传输电气方面的限制,每个以太网帧都有最小的大小 64bytes 最大不能超过 1518bytes,对于小于或者大于这个限制的以太网帧我们都可以视之为错误的数据帧,一般的以太网转发设备会丢弃这些数据帧。 由 于以太网 EthernetII 最大的数据帧是 1518Bytes 这样,刨去以太网帧的帧头(DMAC 目的 MAC 地址 48bit=6Bytes+SMAC 源 MAC 地址 48bit=6Bytes+Type 域 2bytes)14Bytes 和帧尾 CRC 校验部分 4Bytes(这个部分有时候也把它叫做 FCS),那么剩下承载上层协议的地方也就是 Data 域最大就只能有 1500Bytes,这个值我们就把它称之为 MTU。这个就是网络层协议非常关心的地方,因为网络层协议比如 IP 协议会根据这个值来决定是否把上层传下来的数据进行分片。 当两台远程 PC 互联的时候,它们的数据需要穿过很多的路由器和各种各样的网络媒介才能到达对端,网络中不同媒介的 MTU 各不相同。我们可以看下面的简单的组网图。 PC1(192.168.0.1)―――Router――――Internet―――-www server(238.136.1.1) 建立 tcp 连接的两端在三次握手时会协商 tcp mss 大小,具体如下: pc1 发出 syn 报文,其中 option 选项填充的 mss 字段一般为 1460,同样 www server 收到 syn 报文后,会发送 syn+ack 报文应答,option 选项填充的 mss 字段也为 1460;协商双方会比较 syn 和 syn+ack 报 文中 mss 字段大小,选择较小的 mss 作为发送 tcp 分片的大小。通...

软件性能测试及性能测试工具 - Loadrunner

Image
性能测试简介    软件系统的性能包括很多方面,有执行效率,资源占用,系统稳定性,安全性,兼容性,可靠性,可扩展性等。这些都是可以衡量一个软件系统性能好坏的指标。而性能测试是指通过自动化测试工具去模拟多种正常,峰值及异常负载条件来对系统的各项性能指标进行测试。与功能测试相比,性能测试有更高的技术复杂性。 性能测试方法和目的   通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生产性能要求。验证系统所具有的能力。 性能测试分类    1. 负载测试(Load test)     通过在被测试系统上不断施加压力,直到系统性能指标达到极限。找到系统处理能力的极限。   2. 压力测试     测试系统在一定饱和状态下,系统能够快速处理的会话能力,以及系统是否会出现错误。检查系统处于压力下系统应用的表现。   3. 并发测试     通过模拟多用户并发访问,测试多用户并发访问同一个系统应用模块或者数据记录时是否存在死锁或者其他性能问题。可以发现系统中可能隐藏的的并发访问时会出现的问题,比如订单号重复,数据错误等等。   4. 配置测试     通过对被测试系统的软硬件环境的调整,了解各种不同对系统的性能影响的程度,从而找到系统各项资源的最优配置。可以了解各种不同因素对系统性能影响的程度。   5. 可靠性测试(稳定性测试)     给系统加载一定业务压力的情况下,是系统运行一段时间,以此来检测系统运行是否稳定。可以验证系统是否支持长期稳定的运行。   上面各种测试分类也是密切相关的,各种测试方法之间也有一定的包含。 性能 指标    1. 平均响应时间(TTLB,Time to laster byte):平均每个请求从发送到接受响应的时间。       2. 合理的平均响应时间      2/5/10 原则    解释:     在 2 秒内客户能得倒响应被用户认为是 “非常有吸引力的” 用户体验。在 5 秒只内响应客户被认为是 “不错的” 用户体验,在 10 秒之内响应给客户被认为是 “糟糕” 的用户体验。     如果超过 10 秒还没得倒响应那么被认为请求是失败的。     系统资源类的性能指标     1.CPU       CPU 的占用率     2. 内存       内存的占用率,交换换页数等。     3.I/...

网络测试工具详细介绍 -- Iperf、Netperf 、MZ

网络性能测量的五项指标 可用性(availability) 响应时间(response time) 网络利用率(network utilization) 网络吞吐量(network throughput) 网络带宽容量(network bandwidth capacity) 1. 可用性 测试网络性能的第一步是确定网络是否正常工作,最简单的方法是使用 ping 命令。通过向远端的机器发送 icmp echo request,并等待接收 icmp echo reply 来判断远端的机器是否连通,网络是否正常工作。 Ping 命令有非常丰富的命令选项,比如 -c 可以指定发送 echo request 的个数,-s 可以指定每次发送的 ping 包大小。 网络设备内部一般有多个缓冲池,不同的缓冲池使用不同的缓冲区大小,分别用来处理不同大小的分组(packet)。例如交换机中通常具有三种类型的包缓冲:一类针对小的分组,一类针对中等大小的分组,还有一类针对大的分组。为了测试这样的网络设备,测试工具必须要具有发送不同大小分组的能力。Ping 命令的 -s 就可以使用在这种场合。 2. 响应时间 Ping 命令的 echo request/reply 一次往返所花费时间就是响应时间。有很多因素会影响到响应时间,如网段的负荷,网络主机的负荷,广播风暴,工作不正常的网络设备等等。 在网络工作正常时,记录下正常的响应时间。当用户抱怨网络的反应时间慢时,就可以将现在的响应时间与正常的响应时间对比,如果两者差值的波动很大,就能说明网络设备存在故障。 3. 网络利用率 网络利用率是指网络被使用的时间占总时间(即被使用的时间 + 空闲的时间)的比例。比如,Ethernet 虽然是共享的,但同时却只能有一个报文在传输。因此在任一时刻,Ethernet 或者是 100% 的利用率,或者是 0% 的利用率。 计算一个网段的网络利用率相对比较容易,但是确定一个网络的利用率就比较复杂。因此,网络测试工具一般使用网络吞吐量和网络带宽容量来确定网络中两个节点之间的性能。 4. 网络吞吐量 网络吞吐量是指在某个时刻,在网络中的两个节点之间,提供给网络应用的剩余带宽。 网络吞吐量可以帮助寻找网络路径中的瓶颈。比如,即使 client 和 server 都被分别连接到各自的 100M Ethernet 上,但是...