php的apc擴展淺析(二)

WBOY
發布: 2016-07-29 09:15:10
原創
850 人瀏覽過

    “Runtime Settings”:這裡展示的是正在運行的apc的配置信息,我們可以根據需求來調整apc參數,參數的設置在php.ini中進行。

php的apc擴展淺析(二)

php的apc擴展淺析(二)

    apc參數比較多,以下就幾個比較常用的參數做下說明:

    1 下對幾個比較常用的參數做下說明:    1 … filters結合使用,用來控制需要進行快取和不需要快取的php檔案。 apc.filters參數的值是一個以逗號分隔的POSIX 擴展正則表達式的列表,如果

正則表達式

的第一個字符為+,則匹配的文件都會被緩存,如果為-,則匹配的檔案都不會被快取。

    demo1:關閉系統緩存,僅緩存以a和b開頭的文件,其他文件不會被緩存

  apc.cache_by_default = 0
  apc.filters=+a.*.php,+b.*.php
登入後複製

    demo2:開啟系統緩存,不緩存以a和b開頭的文件,其他文件將被緩存

  apc.cache_by_default = 1
  apc.filters = -a.*.php,-b.*.php
登入後複製

    2  apc.shm_size和apc.shm_segments:apc.shm_size,每個以MB 為單位的共享記憶體區塊的大小。系統快取和使用者快取共用,可以透過調整該值來改變apc的共享記憶體區塊的大小。如果apc.shm_size的值已經設定為系統所能達到的最大值仍然不夠用的時候,我們就需要藉助apc.shm_segments,該選項的意義為編譯器快取要分配的共享記憶體區塊的數目,我們可以透過調整該值來改變共享記憶體區塊的數目(但是在測試的時候,該選項並未生效)。

    3  apc.stat:用於偵測腳本是否更新,預設開啟,每次請求腳本的時候都偵測腳本是否更新,這樣做對效能有不利的影響,如果生產環境中的腳本檔案並非頻繁更新,我們可以關閉它,這樣效能將會大幅提高,缺點就是腳本更新的時候需要重啟web伺服器(如果是nginx,重啟php-fpm)使之生效。

    4  apc.ttl和apc.user_ttl:快取條目在緩衝區允許停留的秒數。不同之處在於,apc.ttl針對的是系統緩存,apc.user_ttl針對的是使用者快取。測試的時候這兩個選項並沒有很好的表現,例如設定值為10,按理說10秒如果沒有存取快取條目,這些快取條目將會被清除,但是10秒過後這些條目卻仍然存在,並沒有被清除。

    5  apc.num_files_hint和apc.user_entries_hint:Web 伺服器上的被包含或被要求的不同來源檔案的數量大概估計,apc.num_files_hint針對系統緩存,apc.user_entries_hintintries_hint快取。跟快取時間一樣,快取數量好像也沒什麼作用,例如數量設定為3,超過3個檔案仍會被緩存,不知道為什麼。

    其他的參數不再做過多的介紹,關於緩存時間和緩存數量或許是打開方式不對,總是不能得到預期的效果,如果有哪位對這幾個參數有深入的理解和研究,希望不吝賜教。

    小結:

    1  apc的官方手冊中明確說明,apc有兩個主要的設定選項,一個是分配多少記憶體給apc(選項apc.shm_size),一個是每次請求選項apc.stat),可見這兩個選項對於apc來說至關重要,有時間可以重點研究下這兩項。     2  apc.cache_by_default

開啟和關閉

只會影響系統緩存,且對使用者快取無影響。

    3  apc的共享記憶體區塊是系統快取和使用者快取共用的。

    4  apc 3.1.15-dev版本,php 5.5.10,作業系統centos6.5,設定apc.shm_segments的時候並未生效。

    5  apc緩存滿的情況下系統緩存和用戶緩存表現不同,如果是系統緩存文件在請求的時候達到了緩存上限,則apc會清除除了該請求的所有其他系統緩存文件,如果是用戶緩存變量在請求的時候達到了快取上限,則會清除除了該請求變數外的所有其他使用者快取變量,也就是說系統快取和使用者快取之間不會相互影響。

以上就介紹了php的apc擴充淺析(二),包含了面向的內容,希望對PHP教學有興趣的朋友有幫助。

🎜 🎜
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板