【发布时间】:2014-07-18 05:32:56
【问题描述】:
SFTP 上传速度很慢,我在客户端和 phpseclib 中对其进行了测试,客户端速度快得多,而 phpseclib 慢得多。这是正常行为吗?这是什么原因造成的?
我减少了我们要导出的内容,并使用 tar w/gzip 来归档文件,因此它是一次压缩上传。存档大约 16MB,如果不是库本身,我不确定什么会限制上传,在这种情况下,这将是编码问题而不是上传问题?
任何帮助将不胜感激。
【问题讨论】:
SFTP 上传速度很慢,我在客户端和 phpseclib 中对其进行了测试,客户端速度快得多,而 phpseclib 慢得多。这是正常行为吗?这是什么原因造成的?
我减少了我们要导出的内容,并使用 tar w/gzip 来归档文件,因此它是一次压缩上传。存档大约 16MB,如果不是库本身,我不确定什么会限制上传,在这种情况下,这将是编码问题而不是上传问题?
任何帮助将不胜感激。
【问题讨论】:
这个问题可以说是Transfering file for download through SFTP with PHP very slow的重复。
无论如何,如果您执行phpinfo(),您是否看到安装了 mcrypt?如果 phpseclib 可用,则使用 mcrypt,否则使用纯 PHP 实现。
另外,SSH2 支持多种加密算法,有些算法比其他算法更快。可能是您正在比较 phpseclib 的客户端只是使用比 phpseclib 实现的更快的算法。
最后,你使用的是什么版本的 phpseclib?最新的是 0.3.7。
【讨论】:
define('NET_SSH2_LOGGING', 1);然后$ssh->getLog()。然后将输出复制/粘贴到 pastebin.com 或其他任何地方并发布链接。这应该可以显示减速发生的位置。
define('NET_SSH2_LOGGING', 1); 不会告诉您是否安装了 mcrypt,但 getServerIdentification() 会。如果你发布它,我可以告诉你它是否基于它的返回值。至于我自己在日志中要查找的内容.. 主要是针对需要很长时间的数据包。日志文件有多大?