【问题标题】:Wheres the bottleneck?瓶颈在哪里?
【发布时间】:2009-05-22 22:30:19
【问题描述】:

我有两台测试计算机联​​网。

一个有千兆以太网,另一个有 10 兆。

理论上,两者之间传输的数据应该达到每秒1兆字节左右。

现在我正在使用 PHP 脚本使用 fread 将数据从一台主机读取到另一台主机。读取文件和要读取的文件都是chmod 777。

两台计算机都在运行 wampserver,并且都安装并运行了 zonealarm 和 avast。 Zonealarm 配置为将两台计算机都识别为网络的受信任部分。

使用 time() 函数计算脚本读取另一个 comp 上的文件所需的时间。我正在读取的文件是 10 兆字节。它应该只需要 10 多秒。然而,它需要大约 30 秒。平均 300kbs。

那么我的设置的瓶颈在哪里?

一个comp是Vista,另一个是XP,如果重要的话。

【问题讨论】:

  • 更适用于serverfault.com(打开时)。

标签: php networking ethernet


【解决方案1】:

仅仅因为您的网络速度是 10Mb/秒,并不意味着应用层可以做到这一点。有 TCP/IP 标头信息(每 1500 字节数据包约 64 字节)、内核中处理缓冲区的时间、与 LAN 控制器芯片进行缓冲区传输所花费的时间等。

我假设当你说你获得 300kbs 时,你的意思是 3mbs,对吧?

【讨论】:

  • 没有。我实际上是指 300 千字节,而我应该得到大约 1-2 兆字节
  • 理论峰值为每秒 1.25 兆字节。每秒 300 KB 代表该理论峰值的 25%,这并不算太糟糕,尤其是考虑到所有 12 字符串概述的因素。
  • 300KBs 大约是 3Mbs。沟通有些混乱。小 b 表示位;大写的 B 代表字节。容易混淆。
【解决方案2】:

虽然我们可以进行很多猜测,但这可能属于服务器故障,因为您没有在编程方面询问问题是什么,老实说,即使在那里,这也需要大量的试验和错误。不太适合提问/回答。

【讨论】:

    【解决方案3】:

    打开任务管理器(ctrl+alt+delete,任务管理器),然后切换到第二个选项卡(或第三个?)并在运行测试时观察 CPU 和网络使用情况。如果 CPU 使用率为 100%,则可能是瓶颈。还要检查网络使用情况,看看是否有任何您不期望的开销。

    这就是我要开始的地方。

    【讨论】:

    • 我已经检查过了。两个 cpu 最多达到 10-20%,并且都没有连接到互联网或运行任何其他网络程序。
    猜你喜欢
    • 2012-12-03
    • 2017-07-17
    • 2011-05-25
    • 2012-11-08
    • 1970-01-01
    • 1970-01-01
    • 2021-07-08
    • 1970-01-01
    • 2019-07-27
    相关资源
    最近更新 更多