1

我已经使用了 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);
  } 

有什么方法可以在不重新连接的情况下解决问题?谢谢。

4

0 回答 0