最近在开发用的台式机上启用了 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. OSS 解锁

    一.解开LSKEYF00的编辑锁定  进入SE30,点击Tips & Tricks按钮,输入以下代码     UPDATE PROGDIR SET EDTX = ''       WHERE ...

  2. 使用ASP.NET Core开发信息采集系统将用户数据添加至企业微信

    一.启动Visual Studio 2019,创建ASP.NET Core Web应用程序 二.在Models文件夹添加新项 Person.cs using System.ComponentModel ...

  3. Unity打包ARCore项目失败,但是其他安卓项目成功

    https://blog.csdn.net/lxbhahaha/article/details/111269980

  4. NX二次开发读属性/表达式封装函数

    int Read_ATTR_Type(int ObjTag, char* Attr_Title); //读取属性返回属性类型 string Read_ATTR_StringValue(int ObjT ...

  5. GitHub远程仓库与本地仓库链接问题

    git clone ...时,Failed to connect to 127.0.0.1 port 1080: Connection refused 步骤1------git查看: 查询动态代理 g ...

  6. bootstrapv4轮播图去除两侧阴影及线框

    一.前提条件:  在使用bootstrap v4中的轮播图组件时,两侧默认出现阴影,且轮播组件示例不一致! 二.bootstrap文档组件展示与实际应用 1.官方文档展示如下:没有阴影 2.实际应用情 ...

  7. GameObject.Find()、Transform.Find()查找游戏对象

    GameObject.Find 按广度进行查找 GameObject.Find("GameObject"); GameObject.Find("GameObject/Ch ...

  8. mysql索引类型详解

    转载网址: http://c.biancheng.net/view/7897.html

  9. Feign调用报错The bean 'XXX.FeignClientSpecification', defined in null, could not be registered....的解决办法

    问题描述: 创建了两个远程调用类,一个是调用退款的,一个是调用折扣的 但是两个调用类是调用的同一个微服务 都叫@FeignClient(value = "xxx-shop") 如何 ...

  10. 如何自动化测试你的接口?—— Rest Assured

    前言 不知道大家的项目是否都有对接口API进行自动化测试,反正像我们这种小公司是没有的.由于最近一直被吐槽项目质量糟糕,只能研发自己看看有什么接口测试方案.那么在本文中,我将探索如何使用 Rest A ...