草庐IT

linux - iperf3 Windows带宽比linux慢很多

coder 2024-06-06 原文

<分区>

我遇到了一个很奇怪的问题。 我有 2 台服务器,一台运行 redhat Linux server 7 64 位,另一台运行 Windows server 2012 64 位。两种服务器硬件规范完全相同:

Xeon 2.6Ghz CPU x 2, total 32 logical core
96GB ddr4 memory
1Gb dual port network card
2TB hard disk, the RAID configuration is also same.

当我在两台机器上运行 iperf3 时,结果非常不同。 在 Linux 上,结果是:**

$iperf3 -s

$iperf3 -c localhost
Connecting to host localhost, port 5201
[  4] local ::1 port 46996 connected to ::1 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  4.29 GBytes  36.9 Gbits/sec    0    703 KBytes
[  4]   1.00-2.00   sec  4.75 GBytes  40.8 Gbits/sec    0    703 KBytes
[  4]   2.00-3.00   sec  4.66 GBytes  40.0 Gbits/sec    0    767 KBytes
[  4]   3.00-4.00   sec  4.67 GBytes  40.1 Gbits/sec    0    767 KBytes
[  4]   4.00-5.00   sec  4.49 GBytes  38.6 Gbits/sec    0   1.37 MBytes
[  4]   5.00-6.00   sec  4.57 GBytes  39.3 Gbits/sec    0   1.37 MBytes
[  4]   6.00-7.00   sec  4.54 GBytes  39.0 Gbits/sec    0   1.37 MBytes
[  4]   7.00-8.00   sec  4.68 GBytes  40.2 Gbits/sec    0   1.37 MBytes
[  4]   8.00-9.00   sec  4.75 GBytes  40.8 Gbits/sec    0   1.37 MBytes
[  4]   9.00-10.00  sec  4.60 GBytes  39.6 Gbits/sec    0   1.37 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  46.0 GBytes  39.5 Gbits/sec    0             sender
[  4]   0.00-10.00  sec  46.0 GBytes  39.5 Gbits/sec                  receiver

在 Windows 上,结果是:**

iperf3.exe -s

iperf3.exe -c localhost
Connecting to host localhost, port 5201
[  4] local ::1 port 11042 connected to ::1 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec   477 MBytes  4.00 Gbits/sec
[  4]   1.00-2.00   sec   486 MBytes  4.08 Gbits/sec
[  4]   2.00-3.00   sec   555 MBytes  4.66 Gbits/sec
[  4]   3.00-4.00   sec   569 MBytes  4.77 Gbits/sec
[  4]   4.00-5.00   sec   571 MBytes  4.79 Gbits/sec
[  4]   5.00-6.00   sec   584 MBytes  4.90 Gbits/sec
[  4]   6.00-7.00   sec   590 MBytes  4.95 Gbits/sec
[  4]   7.00-8.00   sec   590 MBytes  4.95 Gbits/sec
[  4]   8.00-9.00   sec   599 MBytes  5.03 Gbits/sec
[  4]   9.00-10.00  sec   598 MBytes  5.01 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-10.00  sec  5.49 GBytes  4.71 Gbits/sec                  sender
[  4]   0.00-10.00  sec  5.49 GBytes  4.71 Gbits/sec                  receiver

iperf Done.

为什么 Windows 这么慢?有人有同样的问题吗?
如何提高 Windows 带宽性能?

这种行为对我的项目影响极大,同样的套接字代码,Windows 的吞吐量只有 Linux 的 1/3。

非常感谢。

有关linux - iperf3 Windows带宽比linux慢很多的更多相关文章

  1. ruby - 在 Ruby 程序执行时阻止 Windows 7 PC 进入休眠状态 - 2

    我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0

  2. ruby - 在 Windows 机器上使用 Ruby 进行开发是否会适得其反? - 2

    这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby​​-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub

  3. Vscode+Cmake配置并运行opencv环境(Windows和Ubuntu大同小异) - 2

    之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m

  4. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

  5. ruby - 如何在 Ruby 中执行 Windows CLI 命令? - 2

    我在目录“C:\DocumentsandSettings\test.exe”中有一个文件,但是当我用单引号编写命令时`C:\DocumentsandSettings\test.exe(我无法在此框中显示),用于在Ruby中执行命令,我无法这样做,我收到的错误是找不到文件或目录。我尝试用“//”和“\”替换“\”,但似乎没有任何效果。我也使用过系统、IO.popen和exec命令,但所有的努力都是徒劳的。exec命令还使程序退出,这是我不想发生的。提前致谢。 最佳答案 反引号环境就像双引号,所以反斜杠用于转义。此外,Ruby会将空格解

  6. 【Linux操作系统】——网络配置与SSH远程 - 2

    Linux操作系统——网络配置与SSH远程安装完VMware与系统后,需要进行网络配置。第一个目标为进行SSH连接,可以从本机到VMware进行文件传送,首先需要进行网络配置。1.下载远程软件首先需要先下载安装一款远程软件:FinalShell或者xhell7FinalShellxhell7FinalShell下载:Windows下载http://www.hostbuf.com/downloads/finalshell_install.exemacOS下载http://www.hostbuf.com/downloads/finalshell_install.pkg2.配置CentOS网络安装好

  7. Linux磁盘分区中物理卷(PV)、卷组(VG)、逻辑卷(LV)创建和(LVM)管理 - 2

    文章目录一基础定义二创建逻辑卷2-1准备物理设备2-2创建物理卷2-3创建卷组2-4创建逻辑卷2-5创建文件系统并挂载文件三扩展卷组和缩减卷组3-1准备物理设备3-2创建物理卷3-3扩展卷组3-4查看卷组的详细信息以验证3-5缩减卷组四扩展逻辑卷4-1检查卷组是否有可用的空间4-2扩展逻辑卷4-3扩展文件系统五删除逻辑卷5-1备份数据5-2卸载文件系统5-3删除逻辑卷5-4删除卷组5-5删除物理卷六LVM逻辑卷缩容6-1缩容注意事项6-2标准缩容步骤一基础定义LVM,LogicalVolumeManger,逻辑卷管理,Linux磁盘分区管理的一种机制,建立在硬盘和分区上的一个逻辑层,提高磁盘分

  8. ruby - 如何在 Ruby 中获取 linux 系统信息 - 2

    如何在Ruby中获取linux系统(这必须适用于Fedora、Ubuntu等)的软件/硬件信息? 最佳答案 Chef背后的优秀人才,拥有一颗名为Ohai的优秀gemhttps://github.com/opscode/ohai以散列形式返回系统信息,例如操作系统、内核、规范、fqdn、磁盘、空间、内存、用户、接口(interface)、sshkey等。它非常完整,非常好。它还会安装命令行二进制文件(也称为ohai)。 关于ruby-如何在Ruby中获取linux系统信息,我们在Stack

  9. ruby - rbenv:在 Linux Mint 上找不到 gem 命令 - 2

    我在LinuxMint17.2上。我最近使用apt-getpurgeruby​​删除了ruby​​。然后我安装了rbenv然后rbenvinstall2.3.0所以现在,~/.rbenv/versions/2.3.0/bin/ruby存在。但是现在,我无法执行geminstallrubocop。我明白了:$geminstallrubocoprbenv:gem:commandnotfoundThe`gem'commandexistsintheseRubyversions:2.3.0但是我可以~/.rbenv/versions/2.3.0/bin/geminstallrubocop。但是,

  10. ruby - 在 Linux 上编译 Ruby 1.9.2 所需的先决条件? - 2

    我是Ruby和RoR的新手。我有一个带有Ubuntu镜像的干净Linode实例,我想从源代码编译Ruby而不是使用apt-get。我已经在谷歌上搜索了执行此操作的说明,但经过一些尝试后,当我尝试运行一些教程示例时,我不断收到有关缺少zlib和其他一些包的错误。任何人都可以给我详细的说明(或链接),教我如何在从源代码编译Ruby之前安装必要的必备包吗?我的目的是编译Ruby的最新稳定版本,然后安装Rubygems和Rails。提前感谢您的帮助!!! 最佳答案 Thisblogpost涵盖从源代码编译ruby​​所需的包和安装过程;它引

随机推荐