登录 立即注册
查看: 27770|回复: 1

虚拟机上的网络性能低下或网络延迟时间较长

[复制链接]

1156

主题

4183

帖子

4346

积分

超级版主

Rank: 8Rank: 8

积分
4346

逍遥会员章逍遥忠实勋章逍遥荣耀勋章逍遥达人勋章逍遥游戏玩家逍遥论坛达人逍遥新人资格章

发表于 2016-9-24 08:22:17 | 显示全部楼层 |阅读模式
本帖最后由 心芝雨 于 2016-9-24 08:23 编辑

模拟器启动电脑断网
正常安装完VirtualBox后,如果主机断网,进入电脑的 网络和共享中心页面---更改适配器设置---本地连接
QQ截图20160924081837.png
前面的勾去掉,保存退出
然后点击  本地连接  右键点击 “禁用”,然后再右键点击 “启用”,这样是为了重新启动一下网络适配器。然后就会发现网络恢复正常了



-----------------------------------------
具有一个虚拟 CPU 和高 CPU 负载的虚拟机,或笼统地来说具有两个或更多个虚拟 CPU 以及 Windows 2003/2008/7 客户机操作系统的虚拟机,可能会遇到以下症状:
网络性能低下且/或 ping 响应时间较长:

当接收网络流量(不管数据量和类型如何)时
当具有高 CPU 负载或与高利用率虚拟机共享 CPU 资源时

在千兆以太网上观察到的吞吐量可能会减少到 512 kB/s。还可能会观察到超时和连接中断。
Ping 回复可能需要多达 20 秒。
敏感服务(如数据库服务器)可能具有较差性能或超时。
虚拟和物理网卡的数目对此问题不起作用。
不同的虚拟网络适配器类型(E1000、VMXNET2 和 VMXNET3)都会出现此问题。
向虚拟机添加更多虚拟 CPU 时,衡量的性能结果(使用诸如 iperf 的工具生成)可能会变得更糟糕
导致此问题发生的原因可能有三个:

  • 电源计划

    在 Windows 2008 和 2008 R2 上,电源计划默认设置为平衡。Microsoft 已观察到并确认将电源计划从平衡更改为高性能可能会提高整体性能。有关详细信息,激进的节电计划可能会对性能产生负面影响,尤其是对延迟敏感型应用程序(如 Web 和数据库服务器)的性能。
  • 较长的 CPU 就绪时间(也称为“%RDY”或“%RDY 时间”)

    注意:此信息是经过简化的,其唯一用途是说明所述问题的原因。不应在本文档上下文之外引用这些信息。虽然此处所用示例足以说明所述问题的原因,但是由于虚拟机 CPU 调度进程的复杂性不要求每个细节在技术上都正确无误。

    此示例基于以下假设:
    • 一个具有已启用超线程的四核 CPU(因此具有 4 个物理 CPU 和 8 个逻辑 CPU)的 ESXi 5.0 主机
    • 一个具有 4 个虚拟 CPU 的 Windows 2008 R2 虚拟机
    • 三个分别具有 2 个虚拟 CPU 的 Windows 2003 虚拟机

    在此配置中,ESXi 主机向虚拟机公开了 8 个逻辑 CPU 和 10 个虚拟 CPU。也就是说,ESXi 主机过载。根据虚拟机的利用率,ESXi 主机将无法为所有虚拟机提供请求的 CPU 时间,因此虚拟机的性能将不如预期。但是,如果多个虚拟机上的负载增加,ESXi 主机必须决定将首先使用当前可用的 CPU 时间为哪台虚拟机提供服务。务必要注意的是,仅当 ESXi 主机能够一次性为特定虚拟机中的所有虚拟 CPU 提供服务时,它才会为多核虚拟机提供服务。否则,将首先为具有较少虚拟 CPU 数目的虚拟机提供服务。虽然这是 CPU 调度程序所应有的工作方式,但是也可能会导致某些虚拟机必须等待很长一段时间才能获得请求的 CPU 时间。在此类情况中,您会观察到整体性能下降且响应时间增加。有关 CPU 调度和 CPU %RDY 时间含义的详细信息,
  • 接收方调整 (RSS)

    RSS 是一种机制,允许网络驱动程序在多个 CPU 之间分散传入 TCP 流量,从而提高多核效率和处理器缓存利用率。如果驱动程序或操作系统不能使用 RSS,或者如果已禁用 RSS,则所有传入网络流量将仅由一个 CPU 来处理。在这种情况下,单个 CPU 可能是网络的瓶颈所在,而其他 CPU 可能保持空闲状态。

    注意:要利用 RSS 机制,虚拟机的硬件版本必须是 7 或更高,虚拟网卡必须设置为 VMXNET3,客户机操作系统必须支持该机制且已正确配置。在某些系统上,必须手动启用该机制。以下操作系统可以使用 RSS:
    • Windows 2003 SP2(默认情况下已启用)
    • Windows 2008(默认情况下已启用)
    • Windows 2008 R2(默认情况下已启用)
    • Windows Server 2012(默认情况下已启用)
    • Linux 2.6.37 及更新版本(默认情况下已启用)


继续执行以下步骤之前,请确保以下事项:
  • 外部基础架构不存在任何问题,例如硬件出现故障或可能的配置错误(常见的配置问题包括 IP 冲突、意外的流量调整、中继和 EtherChannel 端口配置错误)
  • 网络未出现拥堵
  • ESXi 主机所在的网络稳定并按预期运行
  • 已使用 VMXNET3 网络适配器配置了虚拟机
  • 硬件驱动程序和固件版本是最新的
  • BIOS 是最新的且已进行相应配置
  • 虚拟机正在运行最新版本的 VMware Tools(它们包含虚拟机的驱动程序)
  • 任何安全软件(如入侵检测/防御系统或数据包检查器)都具有足够的可用资源且已正确配置(请检查日志,以了解是否存在未正确筛选的流量或丢弃的数据包)
确认基础架构运行状况良好且所有组件都已正确配置后,检查节电配置。对于具有多个虚拟 CPU 的虚拟机,还要检查 CPU %RDY 时间较长是否会对这些虚拟机产生负面影响。

最后一步是检查 RSS 设置。更改 RSS 设置应仅由经过培训的网络管理员来执行。VMware 还建议确认所有相关应用程序(包括操作系统)都支持更改 RSS 配置。


电源计划
为确保系统可以利用可用资源,在调查性能问题时禁用所有节电功能是非常重要的。如果节电配置看起来与性能问题有关,则应创建基于性能和节电要求的自定义电源计划。如果您不确定为系统所建议的节电配置,请咨询硬件供应商。

要在 Windows 2008 Server 上调整电源计划设置,请执行以下操作:


  • 单击开始,键入 powercfg.cpl,然后按 Enter
  • 确保已选择高性能选项。

    注意:步骤 3 至 6 是可选的。
  • 单击更改计划设置
  • 单击更改高级电源设置
  • 要启用对所有设置的访问权限,请单击更改当前不可用的设置
  • 浏览可用设置,并根据需要进行调整。
  • 单击确定以进行确认,并关闭所有窗口。

    注意:某些更改可能需要重新引导客户机系统。
检查 CPU %RDY 时间要确定虚拟机是否受较长 CPU %RDY 时间的影响,请使用以下方法之一:

  • 对特定主机或群集上的所有虚拟 CPU 进行计数,然后除以逻辑 CPU 数。结果为 1 或更大意味着,该主机或群集过载,应进行调查。值 4 或更大被视为过载,必须立即进行调查。

    注意
    • 此方法的目的是快速确定主机是否过载,而不是确定它是否没有过载。VMware 建议使用 esxtop 来观察详细的主机性能。
    • 虽然超线程使逻辑处理器的数量增加为原来的两倍,但是它无法提供与两个物理处理器内核相同的性能。如果主机可能过载,请使用物理 CPU 数(而不是逻辑 CPU 数)进行计算。
  • 当在具有受影响虚拟机的主机上运行时,esxtop 命令会显示 CPU %RDY 时间的值。有关如何使用和解释 esxtop 输出的详细信息,

要减轻已过载主机的负载,请使用以下方法之一:
  • 将受影响的虚拟机移至具有更多可用资源的主机
  • 将其他虚拟机从主机中移出
  • 减少受影响虚拟机上虚拟 CPU 的数目
注意:客户机操作系统可能不支持更改 CPU 计数。有关详细信息,请联系操作系统供应商。


启用并配置接收方调整 (RSS)
在启用 RSS 之前:

  • 确保将虚拟机的硬件版本设置为版本 7 或更高。有关详细信息,
  • 确保将虚拟网络适配器设置为 VMXNET3,且操作系统受此适配器支持。有关详细信息,
  • 确保在客户机操作系统中启用了 RSS。要在 Windows 客户机操作系统中验证这一点,请打开命令提示符并运行以下命令:

    netsh int tcp show global

    输出指示了是否已启用接收方调整状态。
  • 确保将虚拟机中的网络适配器配置为使用 RSS。要在 Windows 客户机操作系统中验证这一点,请执行以下操作:
    • 打开设备管理器,导航到网络适配器,然后右键单击要在其上启用 RSS 的适配器。
    • 在“属性”窗口中,单击高级选项卡,然后单击左侧列表中的 RSS
    • 更改为已启用,然后单击确定关闭窗口。可能需要重新引导以使所做的更改生效。

      注意:启用/禁用 RSS 功能会将适配器上的网络连接中断几秒钟。如果您正通过远程桌面会话访问系统,请确保可以其他方式访问系统,以防发生会导致网络连接不能返回的问题。

默认情况下,Windows 最多可以将四个 CPU 用于 RSS。
  • 有关如何配置 CPU 关联性或用于 RSS 的 CPU 数的详细信息,
  • 有关启用或禁用 RSS 的详细信息,

注意:TSO(TCP 分段清除)是某些网卡的一种功能,可用于将 CPU 中分组的数据卸载到网卡。TSO 受 E1000、增强型 VMXNET 和 VMXNET3 虚拟网络适配器支持(但不受普通的 VMXNET 适配器支持)。在 ESXi 上,TSO 已默认在 VMkernel 中启用,但仅当虚拟机正在使用 VMXNET3 设备、增强型 VMXNET 设备或 E1000 设备时,才在这些虚拟机中支持 TSO。TSO 可以提高性能,即使基础硬件不支持 TSO。

CPU要支持虚拟化技术 主板开启VT 关闭Hyper-V 显卡驱动正确 完整系统
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|模拟器|手机模拟器|手游模拟器|安卓模拟器|( 沪ICP备14046591号 )

GMT+8, 2024-5-20 16:42 , Processed in 0.031047 second(s), 33 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表