php 扩展apc 参数优化
編輯php.ini
輸入下面
[apc]
apc.enabled=1
apc.shm_segments = 1
apc.shm_size = 1G
apc.ttl = 0
apc.user_ttl = 0
apc.num_files_hint = 1000
apc.write_lock=1
apc.slam_defense=60
apc.stat = 1
apc.max_file_size=1M
apc.cache_by_default=1
apc.filters = NULL
?
解釋下
apc.enabled 開(kāi)啟apc 設(shè)置為0關(guān)閉,1為開(kāi)啟
apc.shm_segments 共享內(nèi)存塊數(shù)
apc.shm_size 共享內(nèi)存大小,可以設(shè)置1G那么顯然共享內(nèi)存的總數(shù)就是apc.shm_segments*apc.shm_size
apc.num_files_hint 允許多少個(gè)opcode被緩存(也就是項(xiàng)目里面有幾個(gè)php文件)
apc.stat 為1的時(shí)候會(huì)自動(dòng)檢查opcode對(duì)應(yīng)的php文件是否有更新,有更新的話(huà)會(huì)自動(dòng)更新。設(shè)置為0的話(huà)就不會(huì)去檢查了這樣會(huì)提高apc的效率,但是要使php的修改生效的話(huà)就必須重啟apache了,或者使用函數(shù)apc_cache_clear()來(lái)清空緩存(經(jīng)過(guò)我自己測(cè)試,設(shè)置為1或者0對(duì)qps影響不大,那么還不如設(shè)置為1,免得每次更改文件后還要重新清空緩存)
?
apc.ttl opcode緩存的過(guò)期時(shí)間,設(shè)置為0表示不過(guò)期,如果不為0會(huì)檢查兩次請(qǐng)求之間的時(shí)間,如果時(shí)間大于設(shè)置值那么會(huì)更新opcode緩存(這個(gè)比較影響效率,建議設(shè)為0)
apc.write_lock 表示多個(gè)進(jìn)程同時(shí)更新一份opcode緩存的時(shí)候那么只讓最先的一個(gè)生效,可以有效避免寫(xiě)沖突
apc.max_file_size 超過(guò)設(shè)置值大小的文件不被緩存
apc.filters 需要特例的文件,多個(gè)文件用逗號(hào)(,)相隔
apc.filters 與 apc.cache_by_default結(jié)合使用,
當(dāng)apc.cache_by_default為1時(shí)apc.filters文件不被緩存,當(dāng)apc.cache_by_default為0時(shí)僅apc.filters文件被緩存
?
apc.slam_defense ?當(dāng)你的網(wǎng)站并發(fā)量很大的時(shí)候,可能出現(xiàn)由http守護(hù)進(jìn)程fork的多個(gè)子進(jìn)程同時(shí)緩存同一份Opcodes的情況。通過(guò)apc.slam_defense則可以減少這種事情的發(fā)生機(jī)率。比如,apc.slam_defense值設(shè)置為60的時(shí)候,當(dāng)遇到未緩存的Opcodes,每100次有60次是不緩存的。
轉(zhuǎn)載于:https://www.cnblogs.com/sky20081816/p/3255630.html
總結(jié)
以上是生活随笔為你收集整理的php 扩展apc 参数优化的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 回调机制
- 下一篇: php 时间函数参考