模拟压力测试gateway worker保持在线的能力

2018年02月02日 1.61k 次阅读 0 条评论 0 人点赞
可以用workerman来测试,排除客户端问题的干扰,以下是测试的demo。 127.0.0.1:8282 改成实际服务器ip和端口。 demo是text协议,如果是ws协议,就把text://127.0.0.1:8282改成ws://127.0.0.1:8282。
onWorkerStart = 'connect';
function connect(){
    static $count = 0;
    // 2000个链接
    if ($count++ >= 2000) return;
    // 建立异步链接
    $con = new AsyncTcpConnection('text://127.0.0.1:8282');
    $con->onConnect = function($con) {
       // 递归调用connect
       connect();
    };
    $con->onMessage = function($con, $msg) {
        echo "recv $msg\n";
    };
    $con->onClose = function($con) {
        echo "con close\n";
    };
    // 当前链接每10秒发个心跳包
    Timer::add(10, function()use($con){
        $con->send("ping");
    });
    $con->connect();
    echo $count, " connections complete\n";
}
Worker::runAll();
 

作为一个真正的程序员,首先应该尊重编程,热爱你所写下的程序,他是你的伙伴,而不是工具。

文章评论(0

接收回复邮件通知