php交互最大承载力,php 做的测试scoket服务器稳定性 和 承载能力的程序

// Client

// 设置错误处理

error_reporting (E_ALL);

// 设置处理时间

set_time_limit (0);

$ip = $argv[1];      // IP 地址

$port = $argv[2];            // 端口号

echo "try to connected to $ip:$port./r/n";

if($argv[3]>1000)

{

echo 'PHP use socket select,max connection is 1000'."/n";

$argv[3]=1000;

}

for($i=0;$i

{

$socket[$i] = @socket_create (AF_INET, SOCK_STREAM, SOL_TCP);   // 创建一个SOCKET

if (!$socket[$i]){

echo "$i socket_create() failed:".socket_strerror ($socket[$i])."/n";

$i--;

usleep(500000);

continue;

}

socket_set_option($socket[$i],SOL_SOCKET, SO_SNDTIMEO,  array(     "sec"=>0,      "usec"=>250000       )    );

socket_set_option($socket[$i],SOL_SOCKET, SO_RCVTIMEO,  array(     "sec"=>0,      "usec"=>250000       )    );

socket_set_option($socket[$i],SOL_SOCKET,SO_REUSEADDR,1);

$conn[$i] = @socket_connect ($socket[$i], $ip, $port);       // 建立SOCKET的连接

if (!$conn[$i])

echo "$i connect failed!/n";

usleep(2000);

}

echo "TOTAL Created [$i]/n";

$rlen=0;

$wlen=0;

$rm=0;

$wm=0;

$m=1024*1024;

while (true)

{

for($i=0;$i

{

$wlen+=socket_write($socket[$i], "W", 1);

$rlen+=strlen(socket_read($socket[$i], 128));

usleep(1000);

}

if($rlen>$m)

{

$rm+=floor($rlen/$m);

$rlen=$rlen%$m;

}

if($wlen>$m)

{

$wm+=floor($wlen/$m);

$wlen=$wlen%$m;

}

print $rm.'->'.$rlen.' '.$wm.'->'.$wlen."/n";

echo "Time: ".date("Y-m-d H:i:s")."/n";

sleep(1);

}

?>

使用方法:/usr/local/php/bin/php c.php *.*.*.166 13800 1000

群名称是: PHPer&页游&Mobile&U3D 2D

群号:95303036

加群除了提问之外,请记得帮助别人,谢谢。

----------------------------------再发个广告,网上买家具便宜1/4,还包邮。点图进入,支持下我老婆。0818b9ca8b590ca3270a3433284dd417.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值