在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 中的狀態