參見官方文檔
堅守“ 做人真誠 · 做事靠譜 · 口碑至上 · 高效敬業(yè) ”的價值觀,專業(yè)網(wǎng)站建設服務10余年為成都成都水處理設備小微創(chuàng)業(yè)公司專業(yè)提供成都企業(yè)網(wǎng)站建設營銷網(wǎng)站建設商城網(wǎng)站建設手機網(wǎng)站建設小程序網(wǎng)站建設網(wǎng)站改版,從內(nèi)容策劃、視覺設計、底層架構、網(wǎng)頁布局、功能開發(fā)迭代于一體的高端網(wǎng)站建設服務。http://php.net/manual/en/book.apc.php
The Alternative PHP Cache (APC) is a free and open opcode cache for PHP. Its goal is to provide a free, open, and robust framework for caching and optimizing PHP intermediate code.
通過以下方式可以查看是否安裝了APC擴展
$ php -r 'phpinfo();' |grep apc apc apc.cache_by_default => On => On apc.canonicalize => On => On apc.coredump_unmap => Off => Off apc.enable_cli => Off => Off apc.enabled => On => On apc.file_md5 => Off => Off apc.file_update_protection => 2 => 2 apc.filters => no value => no value apc.gc_ttl => 3600 => 3600 apc.include_once_override => Off => Off apc.lazy_classes => Off => Off apc.lazy_functions => Off => Off apc.max_file_size => 1M => 1M apc.mmap_file_mask => no value => no value apc.num_files_hint => 1000 => 1000 apc.preload_path => no value => no value apc.report_autofilter => Off => Off apc.rfc1867 => Off => Off apc.rfc1867_freq => 0 => 0 apc.rfc1867_name => APC_UPLOAD_PROGRESS => APC_UPLOAD_PROGRESS apc.rfc1867_prefix => upload_ => upload_ apc.rfc1867_ttl => 3600 => 3600 apc.serializer => default => default apc.shm_segments => 1 => 1 apc.shm_size => 32M => 32M apc.shm_strings_buffer => 4M => 4M apc.slam_defense => On => On apc.stat => On => On apc.stat_ctime => Off => Off apc.ttl => 0 => 0 apc.use_request_time => On => On apc.user_entries_hint => 4096 => 4096 apc.user_ttl => 0 => 0 apc.write_lock => On => On1.安裝APC擴展
tar -zxvf APC-3.1.14.tgz
cd APC-3.1.14
phpize
./configure --with-php-config=/data/app_platform/php/bin/php-config
make && make install
2.配置php.ini
以下是建議使用的參數(shù)
extension=apc.so
apc.enabled=1
apc.shm_size=128M
apc.ttl=7200
apc.user_ttl=7200
apc.enable_cli=1
3.配置APC參數(shù)
參考文檔
http://php.net/manual/en/apc.configuration.php
有兩個首要考慮的問題是:1.給APC分配多少內(nèi)存空間。2.對于每個請求是否讓APC檢查一個文件是否被更改。這個兩個參數(shù)是apc.shm_size和apc.stat
APC自帶一個監(jiān)控頁面apc.php,可以從源碼包中復制apc.php到一個nginx虛擬主機,然后通過http://xxxxxx/apc.php查看APC緩存的狀態(tài)。
如果安裝PHP的GD擴展,則可以看到圖表
Cache full count 會顯示達到大緩存容量的次數(shù).達到大緩存容量后,APC不得不將一些在上一個apc.ttl設置的時間段內(nèi)沒有被訪問的文件進行強制清除。 如果APC配置恰當,Cache full count的值會很小。如果緩存被持續(xù)填滿并強制釋放,這會對腳本性能產(chǎn)生影響。為APC分配更多的內(nèi)存是減小Cache full count的值的最簡便方法,如不然,可以使用 apc.filters對緩存的文件進行過濾.如果APC編譯時使用MMAP(Memory Mapping)支持,APC只使用一個內(nèi)存分段。如果使用SHM(SysV Shared Memory),APC會使用多個內(nèi)存分段,在/proc/sys/kernel/shmmax 設置大限制。通常情況下,推薦使用MMAP,因為可以當WEB SERVER重啟后可以更快地回收內(nèi)存空間。
apc.shm_size 設置每個共享內(nèi)存分段的大小,以MB表示。
apc.enabled 如果APC是靜態(tài)編譯到PHP代碼中,可以將這個值設為0以關閉APC功能。
apc.ttl 設置每個存儲條目的過期時間,以秒為單位.如果設置為0,那么APC可能一直緩存的都是陳舊的條目,新的條目也沒有辦法緩存
apc.user_ttl 設置每個用戶緩存條目的過期時間,以秒為單位.
apc.filters 正則匹配需要過濾掉的文件
apc.stat 對每個請求是否檢查要訪問的文件是否被更改。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。