Linux系统网络的实时性评估

2024-04-01 17:44

本文主要是介绍Linux系统网络的实时性评估,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 1.使用 cyclictest 测试系统实时性
  • 2.测试系统通信实时性
    • 2.1 PingPlotter
    • 2.2 使用 ping 测试通讯实时性
  • 3. 使用 iperf 测试带宽
  • 4.网络性能测试

1.使用 cyclictest 测试系统实时性

安装cyclictest

sudo apt-get update
sudo apt-get install rt-tests

cyclictest -p 99 -i 1000 -l 10000
  • -p 99:设置测试线程的实时优先级为99,这是最高的实时优先级。
  • -i 1000:设置测试线程的迭代次数为1000,即测试线程将在每次迭代中执行一次。
  • -l 10000:设置测试线程的运行时长为10000微秒(10毫秒)。

这个指令的作用是创建一个实时测试线程,该线程以最高的实时优先级运行,并在每次迭代中执行一次,每次执行的时间为10毫秒。通过测量每次执行的时间间隔,可以评估系统的实时性能和响应时间。

主要用于单核系统,测试线程以最高优先级在固定的时间间隔内运行。

在这里插入图片描述
由上图可知,最小延时14us,平均延时20us,最大延时2335us


cyclictest --mlockall --smp --priority=80 --interval=5000 --distance=0
  • –mlockall:将测试线程锁定在内存中,以避免因为页面置换(page swapping)而引入的不确定性。
  • –smp:在多核系统中运行测试线程,以测试多核环境下的实时性能。
  • –priority=80:设置测试线程的实时优先级为80。
  • –interval=5000:设置测试线程的运行间隔为5000微秒(5毫秒)。
  • –distance=0:设置测试线程的调度器亲和性(scheduler affinity)为0,即允许测试线程在任何CPU核心上运行。

这个指令的作用是创建一个实时测试线程,该线程在内存中被锁定,运行在多核系统中,以较高的实时优先级运行。测试线程在每个5毫秒的间隔内执行一次,并允许在任何CPU核心上运行。这个指令可以用于测试多核系统的实时性能以及调度器的行为。

适用于多核系统,测试线程在较高优先级下以一定的时间间隔运行,并允许在多个CPU核心上执行。

在这里插入图片描述
由上图可知,CPU0、CPU1、CPU2、CPU3的最小延时、平均延时20us和最大延时。

2.测试系统通信实时性

2.1 PingPlotter

https://blog.csdn.net/qq_45445740/article/details/134066114?spm=1001.2014.3001.5501

2.3 网络延时测试工具推荐——PingPlotter

2.2 使用 ping 测试通讯实时性

在这里插入图片描述

3. 使用 iperf 测试带宽

  • 安装iperf
sudo apt-get update
sudo apt-get install iperf3
  • 在待测试设备上启动iperf服务器
iperf3 -s

确认iperf服务器已成功启动,在服务器上运行iperf服务器后,应该看到类似以下内容的输出:
在这里插入图片描述

  • 在客户端上连接到目标服务器并进行网络性能测试
iperf -c 192.168.255.164 -p 5201

在这里插入图片描述
14754 Pbits/sec等于14.754 Mbits/sec。

4.网络性能测试

网络性能测试最佳实践

  • 测试网络PPS
    测试结果中查看rxpck/s列的数据值,rxpck/s表示该测试机每秒钟接收的数据包总数。如下图所示,测试机每秒钟接收到的数据包平均数约为8万。
    在这里插入图片描述

  • 测试网络带宽
    在测试结果中查看rxkB/s列的数据值,rxkB/s表示该测试机每秒钟接收的数据包的大小,单位为千字节(KB)。与带宽(kbps)转换关系为:带宽(kbps)= 千字节数(rxkB/s)* 8。
    在这里插入图片描述

这篇关于Linux系统网络的实时性评估的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/867759

相关文章

Linux内核定时器使用及说明

《Linux内核定时器使用及说明》文章详细介绍了Linux内核定时器的特性、核心数据结构、时间相关转换函数以及操作API,通过示例展示了如何编写和使用定时器,包括按键消抖的应用... 目录1.linux内核定时器特征2.Linux内核定时器核心数据结构3.Linux内核时间相关转换函数4.Linux内核定时

Linux镜像文件制作方式

《Linux镜像文件制作方式》本文介绍了Linux镜像文件制作的过程,包括确定磁盘空间布局、制作空白镜像文件、分区与格式化、复制引导分区和其他分区... 目录1.确定磁盘空间布局2.制作空白镜像文件3.分区与格式化1) 分区2) 格式化4.复制引导分区5.复制其它分区1) 挂载2) 复制bootfs分区3)

Android使用java实现网络连通性检查详解

《Android使用java实现网络连通性检查详解》这篇文章主要为大家详细介绍了Android使用java实现网络连通性检查的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录NetCheck.Java(可直接拷贝)使用示例(Activity/Fragment 内)权限要求

Linux服务器数据盘移除并重新挂载的全过程

《Linux服务器数据盘移除并重新挂载的全过程》:本文主要介绍在Linux服务器上移除并重新挂载数据盘的整个过程,分为三大步:卸载文件系统、分离磁盘和重新挂载,每一步都有详细的步骤和注意事项,确保... 目录引言第一步:卸载文件系统第二步:分离磁盘第三步:重新挂载引言在 linux 服务器上移除并重新挂p

Linux下屏幕亮度的调节方式

《Linux下屏幕亮度的调节方式》文章介绍了Linux下屏幕亮度调节的几种方法,包括图形界面、手动调节(使用ACPI内核模块)和外接显示屏调节,以及自动调节软件(CaliseRedshift和Reds... 目录1 概述2 手动调节http://www.chinasem.cn2.1 手动屏幕调节2.2 外接显

Linux(centos7)虚拟机没有IP问题及解决方案

《Linux(centos7)虚拟机没有IP问题及解决方案》文章介绍了在CentOS7中配置虚拟机网络并使用Xshell连接虚拟机的步骤,首先,检查并配置网卡ens33的ONBOOT属性为yes,然后... 目录输入查看ZFhrxIP命令:ip addr查看,没有虚拟机IP修改ens33配置文件重启网络Xh

C++简单日志系统实现代码示例

《C++简单日志系统实现代码示例》日志系统是成熟软件中的一个重要组成部分,其记录软件的使用和运行行为,方便事后进行故障分析、数据统计等,:本文主要介绍C++简单日志系统实现的相关资料,文中通过代码... 目录前言Util.hppLevel.hppLogMsg.hppFormat.hppSink.hppBuf

linux实现对.jar文件的配置文件进行修改

《linux实现对.jar文件的配置文件进行修改》文章讲述了如何使用Linux系统修改.jar文件的配置文件,包括进入文件夹、编辑文件、保存并退出编辑器,以及重新启动项目... 目录linux对.jar文件的配置文件进行修改第一步第二步 第三步第四步总结linux对.jar文件的配置文件进行修改第一步进

linux ssh如何实现增加访问端口

《linuxssh如何实现增加访问端口》Linux中SSH默认使用22端口,为了增强安全性或满足特定需求,可以通过修改SSH配置来增加或更改SSH访问端口,具体步骤包括修改SSH配置文件、增加或修改... 目录1. 修改 SSH 配置文件2. 增加或修改端口3. 保存并退出编辑器4. 更新防火墙规则使用uf

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出