为什么巨型帧会影响服务器的性能

per*_*ser 5 performance

更新:我应该只将巨型帧设置为服务器和文件服务器,而不是客户端吗?

如果是这样,对服务器和客户端之间的通信有什么影响吗?


我正在为我们的产品运行一些性能测试。

目前所有与测试相关的机器(服务器、文件服务器、客户端、数据库)都在一个 10G 网络上,由一个强大的戴尔 OpenManage 交换机连接。

我们使用 iscsi 作为文件服务器。我们有一个包含多个节点的集群服务器。

我运行的性能测试基本上是模拟如下场景: 1.客户端机器会创建大量线程向服务器发送http请求。2. 根据请求的不同类型,服务器需要从文件服务器获取一些数据,该数据由所有其他服务器节点共享。

测试结果为:无巨帧,MTU 1500,服务器CPU 70%,http请求的平均响应时间为1秒。

对于巨型帧,MTU 9000,服务器 CPU 20%,http 请求的平均响应时间为 5 秒。

我们已经在所有机器上配置了巨型帧,并更改了 TCP 设置。

有任何想法吗?

cor*_*ump 3

出色地:

  • 更大的帧 = 每个包上的数据更多 = 您的 CPU 发送数据的工作量更少(每秒的包数量更少),但组装每个有效负载需要更长的时间(更多延迟)。
  • 较小的帧=每个包上的数据较少=您的CPU可以更多地工作来发送数据(每秒更多的包),但组装每个有效负载所需的时间更少(更少的延迟)。

  • 添加到可能的 Windows 防火墙...可以对每个数据包的 CPU 使用率产生重大影响。 (2认同)