最近在开发用的台式机上启用了 Windows 的 Hyper-V 虚拟化功能,利用虚拟机运行了一台 Windows Server 2022 和 一台 Ubuntu Server,为了方便别的机器直接访问这两台虚拟机,所以网络采用了外部网络桥接的模式,让虚拟机和物理机保持在了同一网段。

为了实现在这一目的,所以创建了一个虚拟的外部网络交换机,我这边的网卡是 Intel AX210 无线网卡。

在这样使用一段时间之后总感觉电脑网络上传速度特别卡,外网上传速度大概只剩下平时的一半,如果访问内网设备速度则慢的更离谱,只有 1M 不到的速度,有时候还会卡死,我内网中有一台 群晖 NAS,这个速度问题也是在文件上传到群晖时才注意到的,因为通过 smb 协议内网上传文件时经常会出现资源管理器无响应甚至直接卡死,然后测试上传到百度网盘发现速度也变慢了一半左右。

以前正常外网网速的测试:

开启 Hyper-V 的虚拟外部网络交换机之后的外网测速

可以看到外网上传速度慢了一半左右,下载速度无差异。

开启 Hyper-V 的虚拟外部网络交换机之后的内网上传速度

基本无法上传了,长时间卡死在 100多Kbps 左右,最快的时候有 1Mbps

以前正常的内网上传速度

其实这个问题从 2018年开始用 Windows10 系统上的 Hyper-V 虚拟机时就遇到了,当时的网卡是 Intel AC9260,后面陆续用过 Intel AX200 、Intel AX211 几款无线网卡的笔记本电脑,都存在同样的问题,所以初步怀疑是网卡配置的问题,因为以前2013年到2017年之间用的笔记本或者台式机也长期使用 Hyper-V 但是时并没有遇到过这么奇怪的问题。

针对这个问题也看了网络上很多教程,大部分是都指向了网卡的如下几个配置

  • IPv4 Checksum Offload
  • IPv6 Checksum Offload
  • TCP Checksum Offload(IPV4)
  • TCP Checksum Offload(IPV6)
  • UDP Checksum Offload(IPV4)
  • UDP Checksum Offload(IPV6)

但是我将网卡的这几项都设置为 Disabled 之后进行测试,并没有什么用,网速还是一样的慢,所以继续研究。

然后发现了如下两项设置

  • Large Send Offload Version 2(IPV4)
  • Large Send Offload Version 2(IPV6)

尝试将这两项设置调整为 Disabled 之后进行测试,内外网的速度都回归正常了。

具体操作如下:

在电脑的设置中找到网络设置,点击高级网络设置

在界面的最下方点击更多网络设配器选项

选中 Hyper-V 创建的虚拟网卡

右击网卡,查看属性,然后点击配置按钮

找到 Large Send Offload Version 2(IPV4)Large Send Offload Version 2(IPV6) 都调整为 Diabled 然后确定保存即可。

这个原因其实就是因为 Hyper-V 创建出的虚拟网卡默认启用了这两个选项,但是我们的 Intel 无线网卡硬件实际上并不支持这两项功能,所以会造成这样一个副作用。

可以看到 Intel 的无线网卡的配置界面并没有那两项的配置。

顺便查看了台式机的有线网卡,就支持 Hyper-V 虚拟网卡需要的那两项功能,从硬件上是支持的,有线网卡的型号是 Realtek Gaming 2.5Gbe Family Controller

从2018年到现在一直被这个问题所困惑,今天总算解决了,特此记录希望可以帮到各位小伙伴。

至此关于 Windows 11 启用 Hyper-V 之后网络上传速度异常慢解决方案 就讲解完了,有任何不明白的,可以在文章下面评论或者私信我,欢迎大家积极的讨论交流,有兴趣的朋友可以关注我目前在维护的一个 .NET 基础框架项目,项目地址如下

https://github.com/berkerdong/NetEngine.git

https://gitee.com/berkerdong/NetEngine.git

Windows 11 启用 Hyper-V 之后网络上传速度异常慢解决方案的更多相关文章

  1. Hyper V NAT 网络设置 固定IP / DHCP

    Hyper V 默认的Default Switch同时支持了NAT网络以及DHCP,虚拟机能够访问外网. 但使用过程中发现这个IP网段经常变化,而且Hyper V没有提供管理其NAT网络与DHCP的图 ...

  2. Windows下GIT安装与使用(上传远程端)

    Windows下GIT安装与使用(上传远程服务器) 1.  登陆http://msysgit.github.io/并下载Git 2.  打开下载的exe文件,一路默认(路径可以去修改).有可能电脑需要 ...

  3. Windows下使用xShell向远程Linux上传文件

    上传文件使用rz与sz命令,远程Linux系统上需要安装lrzsz工具包 下载安装包lrzsz-0.12.20.tar.gz:  http://www.linuxidc.com/Linux/2010- ...

  4. phonegap文件,目录操作以及网络上传,下载文件(含demo)

    正在做一个跨平台的应用,需要使用phonegap进行文件的一些基本操作. 需求如下:可以选择本地图片,或者从相机选择图片,并进行显示在本地,然后上传到服务器,以及可以从服务器下载图片显示出来,如果本地 ...

  5. 在Windows Server 2008 R2 Server中,上传视频遇到的问题(二)

    上一篇  在Windows Server 2008 R2 Server中,上传视频遇到的问题(一)中遇到上传40M视频报404,然后修改配置文件节点: <httpRuntime targetFr ...

  6. 使用Windows下的git工具往github上传代码 踩坑记录

    使用Windows下的git工具往github上传代码 踩坑记录 背景 由于以前接触的项目都是通过svn进行版本控制,现在公司项目使用git,加上自己平时有一个练手小项目,趁着周末试着把项目上传到自己 ...

  7. 迅雷在P2P网络中的另类上传速度

    如上图,我们一般在下载BT时,一般P2P是边下载边上传. 但是迅雷在自己的软件中可以设置上传速度,反而在展示时却把P2P协议的速度不在上传那么显示,而是使用协议速度来进行展示:并且这个速度无法设置. ...

  8. 关于主机FTP连接不上,无法列出目录,列表错误,上传速度慢,掉速的解决办法

    FTP是一种文件传输协议,它支持两种模式: 一种方式叫做Standard (也就是 Active,主动方式), 一种是 Passive (也就是PASV,被动方式). Standard模式 FTP的客 ...

  9. 我是如何让minio client上传速度提高几十倍的

    minio java client 使用okhttp作为底层的http实现,在产品包里面局域网上传文件的速度一直只有400~800KB/s,经过一天排查发现是-Djava.compile=none禁用 ...

  10. 【安富莱专题教程第6期】SEGGER的J-Scope波形上位机软件,RTT模式波形上传速度可狂飙到500KB/S左右

    说明:1.在实际项目中,很多时候,我们需要将传感器或者ADC的数值以波形的形式显示.通常的解决办法是用串口上位机,USB接口上位机或者MDK的逻辑分析仪功能,使用这三种方式都比较繁琐.本期专题为大家讲 ...

随机推荐

  1. 三种遍历的方法(map和forEach的区别)

    一. for循环 arr[index]可以改变原数组 二. forEach方法 forEach方法的返回值是一个undefined: 2. 在循环体内改变item的值不会影响原数组,而是只在循环体内生 ...

  2. Hadoop警告信息:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform.

    when键入命令: hadoop fs -ls / 若出现以下警告信息: Hadoop警告问题:WARN util.NativeCodeLoader: Unable to load native-ha ...

  3. 2022.07.13 vue3下pinia的简单使用及持久化

    使用前说明: 当前demo使用了vue3 + vite + typescript + pinia搭建的简单项目,主要介绍了在单文件组件(sfc)基础上使用pinia的用法,懒得看api的兄弟们,来这瞅 ...

  4. Spring 常见问题 - 2

    1. @Component, @Controller, @Repository, @Service 有何区别? @Component:这将 java 类标记为 bean.它是任何 Spring 管理组 ...

  5. 自定义DOM事件函数封装

    非原生DOM触发,个性化定制的自定义事件. currentTarget(DOM对象):要触发事件的元素节点. type(字符串):触发的事件类型,例如"keydown". bubb ...

  6. 一个小数据库SQLite

    参考 https://blog.csdn.net/csdnhsh/article/details/93376733 https://www.runoob.com/sqlite/sqlite-creat ...

  7. 验证码案例的实现---MyBatis+Session+Cookie

    展示验证码(jsp页面) 首先,我们需要自己利用BufferedImage类去生成一张可以变换的验证码图片: 之后,我们就可以利用这样一串代码去将验证码里面的内容获取到: 这是一串测试代码: Outp ...

  8. 11.7 消除闪烁(1)(harib08g)

    ps:看书比较急,有错误的地方欢迎指正,不细致的地方我会持续的修改 11.7 消除闪烁(1)(harib08g) 11.6 高速计数器(harib08f)存在闪烁的问题,产生原因:刷新时会从低到高进行 ...

  9. pytorch的dataset与dataloader解析

    整理一下pytorch获取的流程: 创建Dataset对象 创建DataLoader对象,装载有dataset对象 循环DataLoader对象,DataLoader.__iter__返回的是Data ...

  10. 当基础设施故障后,声网 SD-RTN™ 如何保障 RTE 服务的高可用性

    云计算的出现为企业的管理.业务开展.资源整合等带来了极大的便利性,也是数字化建设的核心基建之一,然而局部宕机或者大面积宕机事件对于云厂商来说却也无法避免,全球领先的计算平台也不例外.例如,美国东部时间 ...