1

sftp 接続ssh2.sftpのラッパーを使用しました。すべてのトランザクションに対して 1 つのセッション ハンドルを使用した場合、少数のトランザクションの後、伝送速度が非常に遅くなります。ただし、再接続後は通信速度は問題ありません。例:

  /**
  * 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