分别适合什么场景下使用?
都是差不多的东西,使用场景也基本一样
没搞workerman之前,一直研究swoole来着,无奈是在是被swoole那个破文档整无语了,搞了workerman发现封装的简直太好了..
本来我先了解到的是 Swoole,它的协程非常有吸引力。但是它要求 PHP 7,且不支持 Windows,诸多不便,最后放弃了。
Workerman 感觉很轻量,使用简单,但功能强大,部署也很方便。
@3346 你在windows上装个docker或者虚拟机linux不就可以了
swoole协程,还有性能,运行效率各方面都有优势, 但是很多项目,我感觉用workerman就差不多了,方便快捷,
我今天做了个helloword 性能压测对比,仅供参考 swoole.php 代码
<?php $http = new swoole_http_server("127.0.0.1", "1234", SWOOLE_BASE); $http->set(array( 'worker_num' => 3, 'daemonize' => false, )); $http->on('request', function ($request, $response) { $response->end("hello"); }); $http->start();
workerman.php代码
<?php require_once __DIR__ . '/Workerman/Autoloader.php'; use Workerman\Worker; $worker = new Worker('http://0.0.0.0:12345'); $worker->count = 3; $worker->onMessage = function($connection, $data) { $connection->send('hello'); }; Worker::runAll();
结果:
[attach]2383[/attach]
[attach]2384[/attach] 以上都是1万并发的压测结果,注意了,都是1W并发哦,qps都是5W左右。 服务器是阿里云4核 4G内存,workerman和swoole都开了3个进程。 没有业务的压测可能不代表什么,但是swoole和workerman的性能都真的非常牛逼啊,单机1万并发.... 以上压测仅供参考哈
swoole的代码用协程试试,你没有用到swoole协程特性
https://www.techempower.com/benchmarks/#section=data-r20&hw=ph&test=db&l=zik073-sf 现在workerman已经4.0了,我的压测结果过时了,这里有第三方更权威的压测结果,带数据库业务的。swoole开的协程+连接池,从结果来看swoole还是没发挥出该有的优势。
都是差不多的东西,使用场景也基本一样
没搞workerman之前,一直研究swoole来着,无奈是在是被swoole那个破文档整无语了,搞了workerman发现封装的简直太好了..
本来我先了解到的是 Swoole,它的协程非常有吸引力。但是它要求 PHP 7,且不支持 Windows,诸多不便,最后放弃了。
Workerman 感觉很轻量,使用简单,但功能强大,部署也很方便。
@3346 你在windows上装个docker或者虚拟机linux不就可以了
swoole协程,还有性能,运行效率各方面都有优势,
但是很多项目,我感觉用workerman就差不多了,方便快捷,
我今天做了个helloword 性能压测对比,仅供参考
swoole.php 代码
workerman.php代码
结果:
[attach]2383[/attach]
[attach]2384[/attach]
以上都是1万并发的压测结果,注意了,都是1W并发哦,qps都是5W左右。
服务器是阿里云4核 4G内存,workerman和swoole都开了3个进程。
没有业务的压测可能不代表什么,但是swoole和workerman的性能都真的非常牛逼啊,单机1万并发....
以上压测仅供参考哈
swoole的代码用协程试试,你没有用到swoole协程特性
https://www.techempower.com/benchmarks/#section=data-r20&hw=ph&test=db&l=zik073-sf
现在workerman已经4.0了,我的压测结果过时了,这里有第三方更权威的压测结果,带数据库业务的。swoole开的协程+连接池,从结果来看swoole还是没发挥出该有的优势。