本次测试主要测试计算密集型和io密集型三种技术的并发性能数据,使用ab工具远程连接测试
服务器:centos 7.9
workerman:4.1(select)
swoole:4.8
golang:1.17
测试命令:ab.exe -n10000 -c150 -k http://ip:port/
workerman代码:
- use Workerman\Worker;
- use Workerman\Connection\TcpConnection;
- use Workerman\Protocols\Http\Request;
- require_once __DIR__ . '/vendor/autoload.php';
-
- // 创建一个Worker监听2345端口,使用http协议通讯
- $http_worker = new Worker("http://0.0.0.0:5345");
-
- // 启动4个进程对外提供服务
- $http_worker->count = 4;
-
- // 接收到浏览器发送的数据时回复hello world给浏览器
- $http_worker->onMessage = function(TcpConnection $connection, Request $request)
- {
- //模拟计算密集型
- // $res = 0;
- // for ($i = 0; $i < 10000; $i++) {
- // $res += $i;
- // }
- // $connection->send($res);
-
- //模拟io密集型
- usleep(5000);
- $connection->send(file_get_contents