在swoole 官方介紹到運作原理時,就有針對 swoole 運作方式與 PHP-FPM 的差異進行比較
傳統 PHP-FPM 是基於 PHP Server 來解析
而 Swoole 則是用 C 所編譯的 PHP 擴充,可以直接透過 CLI mode 與 server 溝通
這一點差異就讓 swoole 能做到傳統 php model 無法達成的事情
讓 PHP 開發者可寫出高效能、可拓展的程式
並且可以直接設計 no-blocking I/O 程式,以及與底層 linux kernel 溝通
其中包括幾點:
- swoole 可以充分運用 CPU 核心資源,用來分配 worker 任務
- swoole 可以直接支援 websocker server 與 TCP/UDP server 長連結
- 可以直接與多種 server-side 協定進行溝通
- 可以直接管理及重複使用 memory 中的狀態
…