随着物联网的普及,服务应用将面对大量物联设备处理;早期.NET在通讯上的处理能力一直给人的印像并不怎样,但net core经历过大量的优化后在各个模块的处理性能都有着比较出色的提升,针对网络方向的处理模块也有着显著的提升。以下主要测试.net core在不同连接数据并发下的资源吏用情况,用于评估在不同数量连接上服务的处理能力和硬件配置的需求。

测试描述

分别以200,10万,50万,100万不同连接数下接收数据包和响应的资源使用情况,200连接情况下通过响应请求方式进行高吞吐压测,后面则模拟设备每10秒发送一个数据包。发送数据如下:

000000123,0002123,00001234,20190430093022,01,020

以上简单地模拟一个设备信息,主要包括ID,座标,时间和状态信息等,服务端接收后分解消息并返回。服务端处理代码如下:

        public override void SessionReceive(IServer server, SessionReceiveEventArgs e){base.SessionReceive(server, e);var stream = e.Stream.ToPipeStream();while (stream.TryReadLine(out string line)) {string[] properties = line.Split(','); stream.WriteLine(line); e.Stream.Flush(); } }

测试环境

  • 操作系统

window 2008 server
  • 运行环境

dotnet core 2.1
  • 硬件资源

CPU E3-1230V2 16G内存 10Bb网络
  • 测试工具

Tcp TCPBenchmarkshttps://github.com/IKende/TCPBenchmarks

200连接

在小连接的情况其吞吐能力还是非常出色的,在这台PC上达到30万rps的情况还没完全把CPU跑满。

10万连接

测试结果来看,平均并发在10000RPS;大部分请求都能在5ms内响应完成,而程序大部分工作时间CPU在10%以内,内存占用大概700MB。

50万连接

测试结果来看在50万在线的时候,平均并发在100000RPS;大部分请求同样在5ms内响应完成,程序大部分工作时间的CPU在20%以内,内存占用大概在3.5G

100万连接

100万在线的时候,平均并发在100000RPS;大部分请求同样在100ms内响应完成,程序大部分工作时间的CPU在40%以内,内存占用大概在7-9G.不过这次测试的延时相对比较高,由于负载量的情况测试端也会引起延时的问题,所以导致整体延时比较高。

总结

以上测试的服务器的CPU比较旧,已经是6年前的老产品,但在这个CPU的支持下运行100万连接处理也不算存在压力。其主要原因还是整体的RPS并不高,当在100万连接的情况吞吐值在10万RPS;这样也可以说明在网络服务中占CPU资源的是请求的响应量而不是在线的连接数,不过当在线连接数比较多的情况还是需要占用大量的内存;所以在制是定硬件规划的时候可以针对在线连接数和请求量进行一个结合规划。

原文地址:https://www.cnblogs.com/smark/p/10846422.html

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com 

.net core百万设备连接服务和硬件需求测试相关推荐

  1. stream测试内存_.net core百万设备连接服务和硬件需求测试

    随着物联网的普及,服务应用将面对大量物联设备处理:早期.NET在通讯上的处理能力一直给人的印像并不怎样,但net core经历过大量的优化后在各个模块的处理性能都有着比较出色的提升,针对网络方向的处理 ...

  2. 可以测试流放之路伤害的软件,测试平台及细节一览 - 《流放之路》国服硬件需求测试:低配也能续写ARPG传奇 - 超能网...

    测试平台.场景说明 测试平台 测试平台配置主要分为两套,第一套配置为Skylake平台基础搭建的ASUS MAXIMUS VIII GEN(Z170)主板,处理器为Intel Core i7-6700 ...

  3. 物联网无线连接服务发布 阿里云全新产品,物联网设备专用的物联网卡与流量套餐...

    产品介绍: 物联网(英语:Internet of Things,缩写IoT)是互联网.传统电信网等信息承载体,让所有能行使独立功能的普通物体实现互联互通的网络.物联网无线连接服务是三大运营商面向企业客 ...

  4. SylixOS与硬件设备连接问题——硬件设备串口、网口连接问题

    2019独角兽企业重金招聘Python工程师标准>>> SylixOS与硬件设备连接出现的问题介绍 一般情况下,用户可以通过串口.网口与硬件设备进行交互通信,当其中某一种连接方式出现 ...

  5. 企业直播该如何做?硬件设备、网络环境、设备连接和观看权限等整个直播流程教程

    这是一份面向直播新手的企业直播说明教程,字数较多,完整看完,可能会需要求10分钟,建议您可以[收藏],如果本文章对您有帮助,就帮助[点个赞]吧~~~ 阿酷TONY  / 2023-5-12  / 原创 ...

  6. 搞定企业视频直播:硬件设备、直播网络环境和设备连接说明

    阿酷TONY  / 2022-11-22  / 原创  /  长沙  / 目录 1.直播硬件设备 2.直播网络环境 3.直播设备连接 ├─A.双机位摄像机视频直播场景 └─B.单机位摄像机视频直播场景 ...

  7. 使用BeetleX的TcpBenchmark工具进行百万设备模拟测试

    其实TCP测试的工具有很多,那BeetleX工具所提供的特点又是什么呢?如果你需数十万的请求或模拟上百万的设备连接,那这个工具相信可以满足你的需要!工具是基于BeetleX的基础功能扩展,支持多IP绑 ...

  8. 华为云IoT设备接入服务全体验

    摘要:华为云IoT设备接入服务,海量设备,一键接入,你值得拥有! 本文分享自华为云社区<[云驻共创]Huawei Mate 40产线直击之 华为云IoT设备接入服务全体验>,原文作者:启明 ...

  9. 嵌入式Linux设备驱动程序:发现硬件配置

    嵌入式Linux设备驱动程序:发现硬件配置 Embedded Linux device drivers: Discovering the hardware configuration Interfac ...

最新文章

  1. 华为+长安研发芯片?长安蔚来更名“阿维塔科技”
  2. 计算机书籍-Go语言入门经典SAMS Teach Yourself
  3. docker容器的标准使用过程_跟我一起学docker(四)--容器的基本操作
  4. shell python比较_shell中的条件判断以及与python中的对比
  5. python两个集合相减_python集合的运算,两个集合相减是什么意思
  6. SortedSet和TreeSet
  7. 简单的spring mvc实例
  8. ed是什么梗_《JOJO的奇妙冒险》那些梗
  9. python程序设计与算法基础教程微课版课后答案_Python程序设计与算法基础教程
  10. spec文件知识整理
  11. android 极简浏览器,XBrowser 一款Android下极简的浏览器,个人作品但不输商业产品...
  12. 【.net core】电商平台升级之微服务架构应用实战
  13. ThinkPHP6.0 Session 问题
  14. Quartus II 软件和 DE2-115 开发板使用入门
  15. 局域网病毒入侵原理和防御
  16. 流动性风险与次贷危机
  17. jquery 元素节点操作 - 创建节点、插入节点、删除节点
  18. 图片相似度计算:深入理解DCT变换以及感知哈希
  19. HTML5---H5---HTML网页常用的标签和新增的标签
  20. 运动APP软件开发具有什么好处?

热门文章

  1. 汉克尔变换matlab,HankelTransform
  2. python应用POP3、IMAP、SMTP 协议,获取邮箱验证码
  3. java线程安全问题原因及解决办法
  4. [每日一题] 11gOCP 1z0-052 :2013-09-23 Oracle11g 内存参数设置...................................C7...
  5. C# 文件操作详解(一)---------File类
  6. [转]order by 多个排序条件
  7. [转]ArcGIS.Server.9.3和ArcGIS API for Flex实现Toolbar功能(四)
  8. Avalonia跨平台入门第二篇
  9. OxyPlot 导出图片及 WPF 元素导出为图片的方法
  10. .NET 6 中 gRPC 的新功能