webman性能
傳統(tǒng)框架請求處理流程
- nginx/apache接收請求
- nginx/apache將請求傳遞給php-fpm
- php-fpm初始化環(huán)境,如創(chuàng)建變量列表
- php-fpm調(diào)用各個擴展/模塊的RINIT
- php-fpm磁盤讀取php文件(使用opcache可避免)
- php-fpm詞法分析、語法分析、編譯成opcode(使用opcache可避免)
- php-fpm執(zhí)行opcode 包括8.9.10.11
- 框架初始化,如實例化各種類,包括如容器、控制器、路由、中間件等。
- 框架連接數(shù)據(jù)庫并權(quán)限驗證,連接redis
- 框架執(zhí)行業(yè)務(wù)邏輯
- 框架關(guān)閉數(shù)據(jù)庫、redis連接
- php-fpm釋放資源、銷毀所有類定義、實例、銷毀符號表等
- php-fpm順序調(diào)用各個擴展/模塊的RSHUTDOWN方法
- php-fpm將結(jié)果轉(zhuǎn)發(fā)給nginx/apache
- nginx/apache將結(jié)果返回給客戶端
webman的請求處理流程
- 框架接收請求
- 框架執(zhí)行業(yè)務(wù)邏輯(opcode字節(jié)碼)
- 框架將結(jié)果返回給客戶端
沒錯,在沒有nginx反代的情況下,框架只有這3步。可以說這已經(jīng)是php框架的極致,這使得webman性能是傳統(tǒng)框架的幾倍甚至數(shù)十倍。
更多參考 壓力測試