GatewayWorker服務器 是Liunx服務器,已經按照Linux優(yōu)化和安裝event擴展的操作過了。
但是用另一臺Liunx服務器來進行壓力測試,最大連接數一直是1024,難道這臺服務器也需要優(yōu)化和裝擴展嗎?
壓力測試到底該如何進行,請大神指教
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服務器發(fā)來消息時
$con->onMessage = function($con, $msg) {
//echo "recv $msg\n";
};
// 當連接遠程websocket服務器的連接斷開時
$con->onClose = function($con) {
echo "con close\n";
};
// 連接上發(fā)生錯誤時,一般是連接遠程websocket服務器失敗錯誤
$con->onError = function($con, $code, $msg){
echo "error: ".$code."--".$msg."\n";
};
// 當前鏈接每10秒發(fā)個心跳包
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就不動了,也沒有提示