本文共 1165 字,大约阅读时间需要 3 分钟。
本文来自异数OS社区
github:
异数OS社区QQ群: 652455784
异数OS-织梦师(消息中间件)群: 476260389
数据传输IO性能测试,主要是建立连接后测试收发数据的IO的性能,分为单向双向两种。
VMware 12
异数OS宿主操作系统 debian 8 64位
CPU : NUC i3 2.6G 双核
内存:2GB
TCP参数默认是ACK Delay,带包头200字节负载,不带crc checksum, 无丢包,无硬件延迟情况。
在同一个CPU核上创建一个Server,一个Client,使用ACK Delay模式,TCP双向收发,以太层使用异数OS软件交换机本地核定向转发。
客户端服务端总计IOPS, recv 7.2M, send 7.2M,软件交换机包交换能力20Mpps.
在同一个CPU核上创建一个Server,一个Client,使用ACK No Delay模式,TCP单向收发,以太层使用异数OS软件交换机本地核定向转发。
客户端服务端总计IOPS, recv 5.1M, send 5.1M, 由于TCP ACK NoDelay的原因,软件交换机包交换能力28.5Mpps.
双核CPU,CPU1仅创建Server,CPU3上创建两个Client, TCP双向收发,ACK Delay模式,以太层使用异数OS软件交换机定向跨核转发。
两客户端以及服务端IOPS总计recv 4.8M , send 4.8M ,软件交换机包交换能力估算为14Mpps,该模式下由于跨核软件交换机转发miss的情况较大,占用大概50%的CPU负载,因此分载方案失效,反而比单核集中负载情况下性能更低。
测试方案四 (多核单向负载传输测试)
双核CPU,CPU1仅创建Server,CPU3上创建两个Client, TCP单向收发,ACK NoDelay模式,以太层使用异数OS软件交换机定向跨核转发。
两客户端以及服务端IOPS总结,recv 3.8M ,send 3.8M , 对于软件交换机来讲,由于TCP ACK的原因,因此总计包转发为12Mpps,和上面多核双向传输测试有同样的问题。
由于时间有限,简单看了下64字节包的IO能力(去除包头,仅10字节负载),性能大概提升有10%左右,由于软件交换机在单核环境中大概有20%的负载占用,多核更是达到50%,因此在真实硬件环境中预计每核有望达到双向总计2000W的IO能力,大概是主流操作系统IO能力的100倍左右,且主流操作系统一般IO能力不易多核扩充。