swoole是什么?
Swoole:面向生产环境的 PHP 异步网络通信引擎
关键字:高性能,异步,网络通信引擎,epool
普通的select系统调用基于轮询的,受限于打开进程数,和内存占用高
在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。
select 模型,当有I/O 事件到来时,select 通知应用程序有事件到了快去处理,而应用程序必须轮询所有的fd集合,测试每个fd是否有事件发生,并处理事件;
在一个大规模并发的服务器中,轮询IO是最耗时间的操作之一。
epool系统调用是基于事件的,不必遍历整个fd集合
epool是多路复用IO
程序可以自由的进行自己除了IO操作之外的工作, 只有到IO状态发生变化的时候由多路复用IO进行通知, 然后再采取相应的操作, 而不用一直阻塞等待IO状态发生变化了.
swoole注意
swoole的异步回调模块已过时,请用协程