我正在使用Net_SFTP / phpseclib将文件上传到远程SFTP服务器。从sftp命令行上传测试文件时,我的平均值约为50Mbps。使用PHPSecLib Net_SFTP从相同的服务器上传相同的文件时,我只能实现大约17.0Mbps的传输速率。
以下是我用于转移的代码。我检查过,似乎没有任何CPU使用/网络瓶颈进行传输。关于如何提高转移率的任何想法?
请注意,我使用的是PHP 5.6版本以及我刚从其网站下载的最新版本的phpseclib。我还验证了mcrypt是通过phpinfo()启用的。
同时运行$ sftp-> getServerIdentification()会导致
SSH-2.0-9.99 sshlib: 8.1.0.0
连接到SFTP服务器时。
以下测试代码仅产生17Mbps ......
$port = 22;
$host = 'xxxxxxxxxxxxxx';
$user = 'xxxxxxxxxxxxxx';
$pass = 'xxxxxxxxxxxxxx';
$sftp = new Net_SFTP($host, $port);
if (!$sftp->login($user, $pass)) {
exit('Login Failed');
}
$localFile = '000000.pdf'; //This is about a 300Mb test file
$ftpFile = '/Account/Testing/0000000.pdf';
$ftpResult = $sftp->put($ftpFile, $localFile, NET_SFTP_LOCAL_FILE);
$sftp->disconnect();