PHP檔案快取的效能測試_PHP教程

來源:互聯網
上載者:User

前言:
在開發MooPHP的過程中,為了尋找更為高效的緩衝方式,對兩種最常用的緩衝方式進行了測試。

PHP常用緩衝方式:
第一種,把需要緩衝的資料進行處理,形成PHP可以直接執行的檔案。在需要快取資料的時候,通過include方式引入,並使用。
第二種,把需要的資料通過serialize函數序列化後直接儲存到檔案。在需要使用快取資料的時候,通過還原序列化讀入檔案內容並複製給需要的變數,然後使用。

測試結果:
通過測試我們發現,第二種也就是serialize快取資料的方式更加高效。(資料略去,最後提供了文章地址下載,大家可以自行測試)

原因分析:
include方式讀取緩衝的時候,PHP需要執行幾個過程
1.讀取檔案
2.解析所Include的檔案
3.執行,給變數賦值

而serialize序列化方式讀取緩衝的時候:
1.讀取資料
2.還原序列化資料內容
3.給變數賦值

從以上內容對比的話,可能是由於解析PHP檔案內的數組需要的時間超過unserialize還原序列化數組的時間。如果你有興趣可以查看《PHP filesystem相關函數和include require的效能效率研究》:html">http://www.ccvita.com/163.html

測試檔案代碼:
下載地址:MooPHP-CacheTest.zip
原創地址:http://www.ccvita.com/311.html有新的研究心得會在這裡更新。
CacheTest_IncludeFile.php
CacheTest_SerializeFile.php

總結分析:
第一種,include緩衝的方式
優點:增加資料的保密性,和安全性,緩衝內容不會被外界發現。
缺點:速度相對較慢。
用途:儲存禁止系統外部得知的資料,比如web系統的設定,甚至MySQL資訊等的儲存
第二種,serialize序列化緩衝的方式
優點:速度較快。
缺點:緩衝系統檔案路徑一點曝光,緩衝內容會泄露。
用途:緩衝最新文章,相關文章等不擔心外部得知的資料的時候,可以使用這種方式。

備忘:
當裝了ea、apc等PHP記憶體緩衝之後,第一種通過include讀取緩衝的方式速度會高於第二種serialize序列化緩衝的方式。所以在MooPHP架構中,我們對於非敏感資訊採用第二種方式緩衝;敏感資訊採用第一種方式緩衝。有關MooPHP的介紹可以參考《MooPHP架構簡介》這篇文章(地址:http://www.ccvita.com/295.html)

http://www.bkjia.com/PHPjc/508213.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/508213.htmlTechArticle前言: 在開發MooPHP的過程中,為了尋找更為高效的緩衝方式,對兩種最常用的緩衝方式進行了測試。 PHP常用緩衝方式: 第一種,把需要緩...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.