# 想不通啊想不通:Copy VS Ftp

IT, PHP @ 25 January 2007

公司的发布系统要,之前一直用的是发布,现在计划用直接写到远程目录的方式来发布,本来想当然的认为肯定会比ftp发布速度要快的多,多亏 Alge r提醒我要测试一下再下结论,不测不知道,一测下一跳:

  • 测试对象:6000个文本文件
  • 通过 的 copy 函数 copy 到已经映射到本地的目录中,用了 350 秒;
  • 通过 php 的 copy 函数 copy 到本地磁盘的另一个目录中,用了 80 秒;
  • 通过 php 的 ftp 函数,连接另一台服务器的内网IP,上传,用了 25 秒。

实在想不通为什么会是这样的结果,FTP协议难道是经过了某种优化的吗?再怎么优化也是远程操作啊,怎么会比本地操作快呢?

要么就是 PHP copy 函数有问题……

Tags: ,

4 Responses to “想不通啊想不通:Copy VS Ftp”

  1. Fwolf Says:

    也许是不用等待写盘
    只管发送命令
    而前两种方法都要有写盘等待

  2. bryan chan Says:

    打扰一下。

    http://bbs.verycd.com/topics/421350/

    看看这个帖子,老大。

  3. Physon Says:

    估计是 FTP 按照平均连接速度来计算时间, FTP 服务端只管接受, 保存在缓冲中, 然后按照一定的规则写盘. 可以想象, FTP 服务端不可能说: “对不起, 我还没写完, 请稍待 …”.

  4. 戴云杰 Says:

    copy 函数会把文件全部读进内存……
    可以用php掉用外部命令实现。。

Leave a Reply