分別適合什么場(chǎng)景下使用?
都是差不多的東西,使用場(chǎng)景也基本一樣
沒搞workerman之前,一直研究swoole來著,無奈是在是被swoole那個(gè)破文檔整無語了,搞了workerman發(fā)現(xiàn)封裝的簡(jiǎn)直太好了..
swoole協(xié)程,還有性能,運(yùn)行效率各方面都有優(yōu)勢(shì),
但是很多項(xiàng)目,我感覺用workerman就差不多了,方便快捷,
?
我今天做了個(gè)helloword 性能壓測(cè)對(duì)比,僅供參考
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();
結(jié)果:
[attach]2383[/attach]
[attach]2384[/attach]
?
以上都是1萬并發(fā)的壓測(cè)結(jié)果,注意了,都是1W并發(fā)哦,qps都是5W左右。
服務(wù)器是阿里云4核 4G內(nèi)存,workerman和swoole都開了3個(gè)進(jìn)程。
?
沒有業(yè)務(wù)的壓測(cè)可能不代表什么,但是swoole和workerman的性能都真的非常牛逼啊,單機(jī)1萬并發(fā)....
?
以上壓測(cè)僅供參考哈
?
?
https://www.techempower.com/benchmarks/#section=data-r20&hw=ph&test=db&l=zik073-sf
現(xiàn)在workerman已經(jīng)4.0了,我的壓測(cè)結(jié)果過時(shí)了,這里有第三方更權(quán)威的壓測(cè)結(jié)果,帶數(shù)據(jù)庫(kù)業(yè)務(wù)的。swoole開的協(xié)程+連接池,從結(jié)果來看swoole還是沒發(fā)揮出該有的優(yōu)勢(shì)。