异数OS TCP协议栈测试(一)--数据传输篇
异数OS TCP协议栈测试(一)--数据传输篇
本文来自异数OS社区
异数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能力不易多核扩充。
异数OS TCP协议栈测试(一)--数据传输篇的更多相关文章
- 异数OS TCP协议栈测试(五)--关于QOS与延迟
. 异数OS TCP协议栈测试(五)–关于QOS与延迟 ##本文来自异数OS社区 github: https://github.com/yds086/HereticOS 异数OS社区QQ群: 6524 ...
- 异数OS TCP协议栈测试(四)--网卡适配篇
异数OS TCP协议栈测试(四)–网卡适配篇 本文来自异数OS社区 github: https://github.com/yds086/HereticOS 异数OS社区QQ群: 652455784 异 ...
- 异数OS TCP协议栈测试(三)--长连接篇
异数OS TCP协议栈测试(三)--长连接篇 本文来自异数OS社区 github: 异数OS-织梦师(消息中间件)群: 476260389 异数OS TCP长连接技术简介 说起长连接,则首先要谈对 ...
- 异数OS TCP协议栈测试(二)--短连接篇
异数OS TCP协议栈测试(二)--短连接篇 本文来自异数OS社区 github: 异数OS-织梦师(消息中间件)群: 476260389 测试目标 TCP 短链接IO性能测试,Client Se ...
- 异数OS国产CPU平台移植项目需求分析
异数OS国产CPU平台移植项目需求分析 目录 异数OS国产CPU平台移植项目需求分析 项目立项背景 项目需求分析 异数OS性能指标简介 1.TCP协议栈性能测试 2.异数OS-织梦师-水母 消息队列性 ...
- 国产CPU 申威1621 异数OS基础组件理论性能测试报告
国产CPU 申威1621 异数OS基础组件理论性能测试报告 文章目录 国产CPU 申威1621 异数OS基础组件理论性能测试报告 前言 测试平台 测试项目 SW1621 异数OS 容器虚拟交换机模拟性 ...
- 异数OS 织梦师-水桶(三)-- RAM共享存储方案
. 异数OS 织梦师-水桶(三)– RAM共享存储方案 本文来自异数OS社区 github: https://github.com/yds086/HereticOS 异数OS社区QQ群: 652455 ...
- 异数OS 织梦师-纤手(二)-- LPC RPC篇
异数OS 织梦师-纤手(二)– LPC RPC篇 本文来自异数OS社区 github: https://github.com/yds086/HereticOS 异数OS社区QQ群: 652455784 ...
- 异数OS 2017 DPDK 峰会观后感
1.DPDK in Container 使用虚拟网卡设备技术为每一个容器分配一个IP 网卡适配器(queue).容器技术可以解决虚拟机技术中虚拟机过于臃肿,难于热迁移的问题,可能可以代替美团OVS方案 ...
随机推荐
- H3C 示例:根据子网数划分子网
- C# 文件在数据库 的 存取
... /// <summary> /// 获取数据库Image字段数据,保存到本地 /// </summary> /// <param name="sende ...
- 2018-8-10-resharper-跳转到源代码
title author date CreateTime categories resharper 跳转到源代码 lindexi 2018-08-10 19:16:52 +0800 2018-2-13 ...
- dotnet 通过 WMI 拿到显卡信息
本文告诉大家如何通过 WMI 拿到显卡信息 如果使用的是 dotnet core 请先引用 Microsoft.Windows.Compatibility 才可以使用 WMI 代码 通过下面的代码可以 ...
- spring MVC 核心配置
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...
- sklearn各种分类器简单使用
sklearn中有很多经典分类器,使用非常简单:1.导入数据 2.导入模型 3.fit--->predict 下面的示例为在iris数据集上用各种分类器进行分类: #用各种方式在iris数据集上 ...
- SSI(服务器端嵌入)
简介 SSI(服务器端嵌入)是一组放在 HTML 页面中的指令,当服务器向客户端访问提供这些页面时,会解释执行这些指令.它们能为已有的 HTML 页面添加动态生成内容,不需要通过 CGI 程序来或其他 ...
- UI自动化测试框架 ---TestCafe
UI自动化测试框架 ---TestCafe 官网文档链接: https://devexpress.github.io/testcafe/ https://devexpress.github.io/te ...
- mysql主从之LVS+keepalived+双主MySQL 负载均衡
LVS(Linux Virtual Server)即Linux 虚拟服务器,是一个的开源负载均衡项目,目前LVS 已经被集成到Linux 内核模块中.LVS 是四层负载均衡,也就是说建立在OSI 模型 ...
- 使用SonarQube+Eclipse来分析python代码
背景 最近在项目中推广集成测试的理念以及相关工具,在jenkins中集成sonar去分析项目的java代码的时候,意外的发现,sonarqube上还有对应python的插件,而自己写的测试工具大部分都 ...