利用Swoole Coroutine测试

01-23 17:35 字数 879 阅读 532

常用的接口压测手段有ab,JMeter等工具,那么如何自己实现呢,借助Swoole Coroutine的简易脚本测试并发下是否会超卖

Swoole\Coroutine\run(function () {
    $accessTokens = [
        '0019d0bb32af10318138ee4054ad986e',
        '0019d3b64d38c3c6cbf4ec950f593e2f',
        // ... 一批用户token,验证登录的
    ];

    // 开启100个协程
    for ($i = 0; $i < 100; $i++) {
        Swoole\Coroutine::create(function () use ($i, $accessTokens) {
            $client = new Swoole\Coroutine\Http\Client('local.open.game.com');
            $client->post('/v1/playground/send?access-token=' . $accessTokens[$i], []);
            $result = json_decode($client->body, true);
            if ($result['status'] == 200) {
                echo "发送成功\n";
            } else {
                echo json_encode($result, JSON_UNESCAPED_UNICODE) . PHP_EOL;
            }
            $client->close();
        });
    }
});

适用简单自测,其他场景比如websocket连接测试,待续...

1人点赞>
关注 收藏 改进 举报
0 条评论
排序方式 时间 投票
快来抢占一楼吧
请登录后发表评论