GatewayWorker最大连接数1024

yunwalker

GatewayWorker服务器 是Liunx服务器,已经按照Linux优化和安装event扩展的操作过了。
但是用另一台Liunx服务器来进行压力测试,最大连接数一直是1024,难道这台服务器也需要优化和装扩展吗?
压力测试到底该如何进行,请大神指教

4446 2 0
2个回答

yunwalker
use Workerman\Worker;
use Workerman\Lib\Timer;
use Workerman\Connection\AsyncTcpConnection;

require_once __DIR__ . '/vendor/workerman/workerman/Autoloader.php';

$worker = new Worker();

$worker->onWorkerStart = 'connect';

function connect(){
    static $count = 0;
    // 2000个链接
    if ($count++ >= 2000) return;
    // 建立异步链接
    $con = new AsyncTcpConnection("ws://demo:8282/ws");

    $con->onConnect = function($con) {
        // 递归调用connect
        connect();
    };
    // 远程websocket服务器发来消息时
    $con->onMessage = function($con, $msg) {
        //echo "recv $msg\n";
    };
    // 当连接远程websocket服务器的连接断开时
    $con->onClose = function($con) {
        echo "con close\n";
    };
    // 连接上发生错误时,一般是连接远程websocket服务器失败错误
    $con->onError = function($con, $code, $msg){
        echo "error: ".$code."--".$msg."\n";
    };
    // 当前链接每10秒发个心跳包
    Timer::add(10, function()use($con){

        $ping = array(
            'type' => 'ping',
            'data' => array()
        );

        $con->send(json_encode($ping));
    });

    $con->connect();

    echo $count, " connections complete\n";
}

Worker::runAll();

这是压力测试的,跑到1020就不动了,也没有提示

  • 暂无评论
yunwalker

果然,另外一台服务器也需要安装event扩展

  • 暂无评论
年代过于久远,无法发表回答
🔝