
swoole
314 人关注该话题
1
回复
NOTICE php_swoole_http_onReceive (ERROR 1005): connection[1] is closed. swoole
郭大侠 回复了问题 • 6 天前 • 2 人关注 • 145 次浏览 •
5
回复
请问建立好websocket服务后,怎样使用PHP来连接websocket swoole WebSocket
探索者 回复了问题 • 2019-02-07 10:48 • 3 人关注 • 1459 次浏览 •
1
回复
关于PHP Warning: Swoole\Server::start(): task[73] has expired. swoole PHP
郭大侠 回复了问题 • 2019-01-27 16:16 • 2 人关注 • 115 次浏览 •
1
回复
1
回复
3
回复
2
回复
1
回复
swoole进入守护进程后只能通过kill结束进程吗,有没有比较优雅的方式结束? swoole
jxun 回复了问题 • 2019-01-14 14:28 • 1 人关注 • 149 次浏览 •
2
回复
curl 请求无法连接swoole,提示Powered by Swoole,是什么问题。 swoole
梦逸灵箭 回复了问题 • 2019-01-14 14:23 • 3 人关注 • 258 次浏览 •
1
回复
5
赞同来自: xudianyang 、xuxu2009 、昌维 、sakura2004 、shijinzhan 更多 »
此异步非彼异步。这里的异步,实际上说的异步非阻塞IO,比较底层。比如PHP的fread函数,读取磁盘或者读取网络,会有一个等待时间。比如磁盘读取最慢可能需要10ms以上,网路的话内网大致1ms,外网就上100ms都有可能。
而且你的PHP代码在这个事件里不能...
此异步非彼异步。这里的异步,实际上说的异步非阻塞IO,比较底层。比如PHP的fread函数,读取磁盘或者读取网络,会有一个等待时间。比如磁盘读取最慢可能需要10ms以上,网路的话内网大致1ms,外网就上100ms都有可能。
而且你的PHP代码在这个事件里不能做任何事情,只能等fread返回数据。无法高效利用机器资源。为了解决并发的问题,只能多开进程,比如php-fpm经常开到几百个工作进程。但进程开得越多,系统资源争抢就越严重。如果开得工作进程很多,有可能光进程间竞争资源的开销,就浪费掉了大量的CPU资源。
swoole异步就是为了解决这个问题,当你的程序读取网络或磁盘时。swoole会加入到事件监听中,完全不需要等待,你的代码可以取做别的事情。当网络或磁盘读取完成,返回数据时,再继续向下执行你的代码。这样就可以高效利用机器资源。再高的并发也不是问题。
而且你的PHP代码在这个事件里不能做任何事情,只能等fread返回数据。无法高效利用机器资源。为了解决并发的问题,只能多开进程,比如php-fpm经常开到几百个工作进程。但进程开得越多,系统资源争抢就越严重。如果开得工作进程很多,有可能光进程间竞争资源的开销,就浪费掉了大量的CPU资源。
swoole异步就是为了解决这个问题,当你的程序读取网络或磁盘时。swoole会加入到事件监听中,完全不需要等待,你的代码可以取做别的事情。当网络或磁盘读取完成,返回数据时,再继续向下执行你的代码。这样就可以高效利用机器资源。再高的并发也不是问题。