压力测试-Swoole-Swoole文档中心


本站和网页 https://wiki.swoole.com/wiki/page/62.html 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

压力测试-Swoole-Swoole文档中心
Swoole
Swoole内核开发
PHP-X
搜索
搜索
入门指引
Server
方法
属性
选项
监听端口
常量
事件
高级特性
常见问题
压力测试
并发10万TCP连接的测试
全球Web框架权威性能测试 Techempower Web Framework Benchmarks
PHP7+Swoole/Nginx/Golang性能对比
Coroutine
Runtime
Timer
Memory
Http\Server
WebSocket\Server
Redis\Server
Process
Process\Pool
Client
Event
Async
高级
其他
增加子页面
增加同级页面
编辑本页
更多...
Toggle Dropdown
历史修改记录
贡献者名单
警告!旧版文档已经暂停维护,请查看新版文档。点击前往新版文档
压力测试
注意事项
不同的硬件平台和软件环境,测试出的实际数据并不相同,因此仅建议进行基准测试,在相同的环境下测试不同软件系统之间的性能差距
编译Swoole必须关闭debug,使用gcc -O2或更高优化级别
关闭屏幕输出,否则打印屏幕的echo操作会使服务器阻塞
在多核的机器上开启合适的进程数量,进程数量不足将无法发挥全部硬件计算能力
检查程序中是否存在PHP错误,PHP错误处理会使服务器的处理能力大幅下降
优化选项
使用SWOOLE_BASE模式,可以减少2次IPC开销,提升性能
启用端口复用,可大幅提高短连接服务的性能,需要Linux-3.10或更高版本内核
Http服务器请关闭gzip压缩,可节省服务器CPU的开销
Http服务器请使用KeepAlive长连接测试,避免短连接的IO开销降低性能差异比例
移除没有实际逻辑的回调设置,如程序中并未使用onConnect和onClose回调,在代码中不要设置这2项回调
Swoole\Async::set(array('enable_reuse_port' => true));
$serv = new Swoole\Server("0.0.0.0", 9502, SWOOLE_BASE);
$serv->set(array(
'worker_num' => 8,
));
$serv->on('Receive', function (swoole_server $serv, $fd, $from_id, $data)
$serv->send($fd, "Swoole: " . $data);
});
$serv->start();
其他提示
使用ab测试工具时,请开启-k长连接
ab测试工具不支持Http-Chunk,在Http\Server中请勿使用response->write
最新最早最热
9.35万次阅读 0条评论
发布
Swoole.com 2008 - 2022 备案号:苏ICP备19021875号-1 | 苏公网安备 32058302002209号 | 版权声明
官方QQ群:810919826 开发组邮件列表:
team@swoole.com
当前Swoole扩展版本:swoole-SWOOLE_VERSION

Copyright ©uecom 京ICP备18064371号-1 IPV6
2024-03-29 08:38:42
uenu.com.cn
10.0.12.16