# 想不通啊想不通:Copy VS Ftp
公司的发布系统要升级,之前一直用的是ftp发布,现在计划用直接写到远程目录的方式来发布,本来想当然的认为肯定会比ftp发布速度要快的多,多亏 Alge r提醒我要测试一下再下结论,不测不知道,一测下一跳:
- 测试对象:6000个文本文件
- 通过 php 的 copy 函数 copy 到已经映射到本地的目录中,用了 350 秒;
- 通过 php 的 copy 函数 copy 到本地磁盘的另一个目录中,用了 80 秒;
- 通过 php 的 ftp 函数,连接另一台服务器的内网IP,上传,用了 25 秒。
实在想不通为什么会是这样的结果,FTP协议难道是经过了某种优化的吗?再怎么优化也是远程操作啊,怎么会比本地操作快呢?
要么就是 PHP copy 函数有问题……
January 25th, 2007 at 22:19
也许是不用等待写盘
只管发送命令
而前两种方法都要有写盘等待
January 28th, 2007 at 02:17
打扰一下。
http://bbs.verycd.com/topics/421350/
看看这个帖子,老大。
January 28th, 2007 at 03:16
估计是 FTP 按照平均连接速度来计算时间, FTP 服务端只管接受, 保存在缓冲中, 然后按照一定的规则写盘. 可以想象, FTP 服务端不可能说: “对不起, 我还没写完, 请稍待 …”.
March 20th, 2009 at 14:41
copy 函数会把文件全部读进内存……
可以用php掉用外部命令实现。。