我使用了sftp连接ssh2.sftp的包装器。在几次交易之后,当我们为所有交易使用一个会话句柄时,传输速度变得非常慢。但重新连接后传输速度正常。 例如:
/**
* Returns handle for sftp subsystem
* @param string
* @return handle
*/
function methodForConnect(...){
//some connection code.
}
///First way. 1 connection for all transactions, becomes slow after 76 iteration.
$sftp = methodForConnect();
for($i = 0; $i < 2500; $i++){
$data = str_reapeat(rand(0, 1), 1024*1024);
file_put_contents("ssh2.sftp://$sftp/path/to/file", $data);
}
///Second way. New connection per transaction.
for($i = 0; $i < 2500; $i++){
$sftp = methodForConnect();
$data = str_reapeat(rand(0, 1), 1024*1024);
file_put_contents("ssh2.sftp://$sftp/path/to/file", $data);
}
有没有办法解决问题而无需重新连接?感谢。