php的apc擴充淺析(二)

來源:互聯網
上載者:User
“Runtime Settings”:這裡展示的是正在啟動並執行apc的配置資訊,我們可以根據需求來調整apc參數,參數的設定在php.ini中進行。


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

1 apc.cache_by_default和apc.filters:apc.cache_by_default,是否開啟系統緩衝,通常跟apc.filters結合使用,用來控制需要進行緩衝和不需要緩衝的php檔案。apc.filters參數的值是一個以逗號分隔的 POSIX 擴充Regex的列表,如果Regex的第一個字元為+,則匹配的檔案都會被緩衝,如果為-,則匹配的檔案都不會被緩衝。

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_hint針對使用者緩衝。跟緩衝時間一樣,緩衝數量好像也沒什麼作用,例如數量設定為3,超過3個檔案仍會被緩衝,不知道為什麼。

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

小結:

1 apc的官方手冊中明確說明,apc有兩個主要的配置選項,一個是分配多少記憶體給apc(選項apc.shm_size),一個是每次請求apc是否檢查檔案修改(選項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教程有興趣的朋友有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.