AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 107784
Accepted
Brent
Brent
Asked: 2010-01-30 20:53:46 +0800 CST2010-01-30 20:53:46 +0800 CST 2010-01-30 20:53:46 +0800 CST

VMWare ESX 虚拟机上的带宽瓶颈

  • 772

我有 2 个负载平衡的 apache 虚拟服务器,每分钟处理几千个请求,我正在尝试诊断减慢它们的瓶颈。

我的网络服务器每个都有一个虚拟网卡,他们的 VMWare 主机每个都有 7 个千兆网卡。所有这些物理网卡都馈入 100Mb/s 交换机端口。

起初,我认为 VMWare 主机会聚合所有可用的带宽,并根据需要将其分配给虚拟机。但是,我现在想知道我是否错了。

我的同事向我解释的方式是,如果我在 VM 中只有一个虚拟NIC,它将绑定到单个物理 NIC,而不是汇总所有这些 NIC 的带宽 - 所以在我的情况下,这是受限于交换机端口的带宽为 100 Mb/s。 那是对的吗?

此外,两个 100Mb/s 连接(每台服务器上一个)是否会成为每分钟仅处理 1000-2000 个请求的站点的瓶颈?

apache-2.2 virtual-machines bandwidth vmware-esx bottleneck
  • 1 1 个回答
  • 3206 Views

1 个回答

  • Voted
  1. Best Answer
    Helvick
    2010-01-30T21:58:57+08:002010-01-30T21:58:57+08:00

    就 NIC 团队而言,您的同事或多或少是正确的。

    默认情况下,ESX 中的 NIC 绑定将 VM 中的每个虚拟 NIC 映射到它所连接的 vSwitch 上的单个上行链路(物理 NIC)。具体的网卡负载均衡策略有:

    • 端口 ID:来自每个虚拟网卡的所有流量都根据端口号映射到一个上行链路。
    • 源 Mac 哈希:来自每个虚拟 NIC 的所有流量都根据虚拟 NIC 的 MAC 地址的哈希映射到一个上行链路
    • IP 哈希:基于 IP 的流量的源和目标 IP 地址的哈希用于选择上行链路。

    在这三个中,只有 IP 散列会给您带来任何聚合效果。ESX 只能控制出站流量路径选择,因此要正确分配入站和出站流量,您的物理交换机还必须针对端口聚合 (Etherchannel\LACP) 进行适当配置。

    这里有一篇非常有用的 VMware 知识库文章,介绍了如何配置各种交换机 (Cisco\HP),以便分配入站流量(交换机必须决定路径选择的地方)和出站流量(ESX 处理路径选择的地方)。

    请注意,这些策略都不会导致流量在单个源 IP 地址和单个目标之间的流量分布在多个上行链路上,它们仅在涉及一系列 IP 地址时提供聚合。

    要回答您的第二个问题 - 这取决于每个请求涉及多少数据。单个 100Megabit 连接可以通过大约 8000 个数据包/秒,如果有效负载大小远小于 1500 字节,则可能更多。但是(大量简化并忽略开销)如果一个典型的请求例如涉及 30k 的数据,那么每个请求将需要 20 个数据包才能完成,因此 NIC 理论上可以处理大约 250 个这样的请求/秒。如果您的请求平均涉及 1Meg 的流量,那么您最多只能每秒处理 7/8 个请求,在正常情况下,如果您的实际数字大于这些速率的 50%,我会说您会做得很好。

    这只是为了大致了解链路是否可以承载原始数据带宽。为了更接近特定链接可以处理的内容,您还需要考虑所有涉及的握手、客户端和服务器之间的端到端延迟、您的体系结构可以保持多少并发连接以及其他很多。

    • 3

相关问题

  • 如何强制我的网址始终以 www 开头?

  • 在 Linux Xen VPS 上优化 Apache 和 MySQL

  • 网速慢 - 我应该检查什么?

  • mod_rewrite 不转发 GET 参数

  • 我应该如何管理每用户带宽?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve