$con = ssh2_connect($host, 22);
ssh2_auth_password($con, $rem_acc, $pass);
ssh2_scp_send($con,$rand.".gz","./".$rand.".gz");
$stream = ssh2_exec($con, "./exeonserv.sh ".$rand);
只要我将 PHP 脚本的负载保持在每秒 2 个请求以下(脚本中有 2 个 SSH 连接,因此每秒有 4 个连接),就可以正常工作
但是当它每秒超过 2 个请求时,连接开始失败,日志中出现以下错误:
[2012 年 4 月 21 日星期六 11:51:40] [错误] [客户端 172.16.57.97] PHP 警告:ssh2_connect():启动 SSH 连接时出错(-1):在 /var/www/fsproj/result 中获取横幅失败。 php 在第 105 行
[Sat Apr 21 11:51:40 2012] [error] [client 172.16.57.97] PHP Warning: ssh2_connect(): Unable to connect to localhost in /var/www/fsproj/result.php on line 105
我使用以下代码尝试解决问题,但如果持续负载大于 2req/sec。它只是最终增加了响应时间
$con=false;
while(!$con)
{
$con = ssh2_connect($host, 22);
}
可以打开 SSH 连接的最大速率是否有上限?如果是这样,我在哪里可以更改该值?(或任何其他解决方案?)
我在 Ubuntu 上使用 Apache