Asf PHP 開發之配置資訊常駐系統內存

不言
發布: 2023-04-02 20:46:02
原創
1383 人瀏覽過

這篇文章主要介紹了關於Asf PHP 開發之配置資訊常駐系統內存,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

傳統MVC 與Asf 比較

傳統的MVC框架

每次請求都會去重新載入設定檔。即使設定檔內容沒有更新, 也會去重新載入一次。這是一個很不好的設計。 (開啟Opcache情況下, 還是有執行的過程時間)

Asf框架

讀取到設定檔的內容儲存到系統記憶體, 下一次請求直接去記憶體讀取資料。 Asf 也提供非常簡單的設定實作 Config Cache。

什麼場景下開啟Config Cache合適?

  • 建議在Web應用程式場景下都開啟吧, 後面版本可能會預設啟用

  • 在CLI、多執行緒模式下開啟同樣生效, 只是PHP腳本每次執行完就釋放了

  • 支援資料型別有: strings, arrays, integers, boolean, doubles, floats, null

流程圖

Asf PHP 開發之配置資訊常駐系統內存

#開啟快取方法


        
登入後複製

框架入口方式載入php/ ini設定檔

run();
登入後複製

Asf\Config\Php 載入php設定檔


        
登入後複製

Asf\Config\Ini 載入ini設定檔


        
登入後複製

#讀取設定內容方法

getConfig()->toArray()); print_r(Asf\Config::get()->toArray());
登入後複製

效能測試

在開啟Opcache 情況下, 簡單做了一個Config Cache 效能測試, ab -c100 -n10000

設定檔中設定項複雜程度與效能指標是有直線聯繫的喲

開啟快取asf.cache_config_enable = 1

Total transferred: 16109994 bytes HTML transferred: 14259994 bytes Requests per second: 6859.01 [#/sec] (mean) Time per request: 14.579 [ms] (mean) Time per request: 0.146 [ms] (mean, across all concurrent requests)
登入後複製

無快取

Total transferred: 16080000 bytes HTML transferred: 14230000 bytes Requests per second: 6398.22 [#/sec] (mean) Time per request: 15.629 [ms] (mean) Time per request: 0.156 [ms] (mean, across all concurrent requests)
登入後複製

提示

Cache Config 不是基於共享記憶體的, 是基於PHP 進程的喲, 不會有共享記憶體鎖定的問題。

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關推薦:

Nginx負載調度器雙重Tomcat負載及會話共享MySQL後端資料庫

ThinkPHP5.0 Linux Apache/ Nginx重寫URL設定

以上是Asf PHP 開發之配置資訊常駐系統內存的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新問題
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!