這篇文章主要介紹了PHP APC設定檔2套與參數詳解,需要的朋友可以參考下
一、安裝APC
./configure --enable-apc --enable-apc-spinlocks --disable-apc-pthreadmutex安裝過程就不說了, 標準的php擴充安裝模式.
二、2套設定檔
效能高, 不適合頻繁更新:apc.enabled=1 apc.stat = 0 apc.stat_ctime = 0 apc.shm_size = 64M apc.shm_segments = 1 apc.num_files_hint = 1000 apc.ttl = 0 apc.slam_defense = 0 apc.write_lock = 1 apc.file_update_protection = 2效能稍低:
apc.enabled=1 apc.stat = 1 apc.stat_ctime = 1 apc.shm_size = 64M apc.shm_segments = 1 apc.num_files_hint = 1000 apc.ttl = 86400 apc.slam_defense = 0 apc.write_lock = 1 apc.file_update_protection = 2
2套配置關鍵在於apc.stat, 開啟後APC將不會檢查檔案是否更新, 這樣可以減少大量不必要的系統呼叫.但是, 對於新發布的問題需要重新啟動PHP. 可以根據情況選擇.
##另外, 附上參數說明:
apc.enabled boolean
apc.enabled 可以設為0 來停用APC.主要是用在當APC 被靜態編譯入PHP 時,因為沒有其它方法來禁用了(編譯為DSO , 的時候,可以將php.ini中的extension 行註解掉)。
apc.shm_segments integer
編譯器快取要指派的共享記憶體區塊的數目。如果 APC 用光了共享記憶體但是已經將 apc.shm_size 設為系統所能允許的最大值,可以嘗試增加此值了。
apc.shm_size integer
以 MB 為單位的每個共享記憶體區塊的大小。預設時,有些系統(包括大多數 BSD 變種)的共享記憶體區塊大小非常低。
apc.optimization integer
最佳化等級。設為 0 則停用最佳化器,較高的值則使用更主動的最佳化。期望非常有限的速度提升。尚在試驗中。
apc.num_files_hint integer
Web 伺服器上的被包含或被要求的不同來源檔案的數目的大概估計。如果不確定則設為 0 或去掉此項;此設定主要用在有數千個來源檔案的網站。
apc.user_entries_hint integer
與apc.num_files_hint類似, 根據唯一使用者數來儲存快取變數。如果不能確定則設定為0或或去掉此項。
apc.ttl integer
快取項目在緩衝區中允許停留的秒數。 0 表示永不逾時。建議值為7200~86400 設為 0 表示緩衝區有可能被舊的快取條目填滿,從而導致無法快取新條目。
apc.user_ttl integer
類似apc.ttl,只是針對每位使用者而言,建議值為7200~86400。設為 0 表示緩衝區有可能被舊的快取條目填滿,從而導致無法快取新條目。如果大於0,APC將嘗試刪除過期條目。
apc.gc_ttl integer
快取項目在垃圾回收表中能夠存在的秒數。此值提供了一個安全措施,即在伺服器程序在執行快取的來源檔案時,如果該檔案被修改則舊版本將不會被回收,直到達到此 TTL 為止。設為零將停用此特性。
apc.cache_by_default boolean
預設為on,但可以設為off 並和加號開頭的apc.filters 一起用,則檔案僅在匹配過濾器時被緩存。
apc.filters string
一個以逗號分隔的 POSIX 擴充正規表示式的清單。如果任一個模式符合來源檔案名,則該檔案不被快取。注意用來匹配的檔名是傳遞給 include/require 的檔名,而不是絕對路徑。如果正規表示式的第一個字元是 t則表示任何符合表達式的檔案會被緩存,如果第一個字元是 - 則任何符合項都不會被快取。 -是預設值,可以省略掉。
apc.mmap_file_mask string
如果使用--enable-mmap(預設啟用)為APC編譯了MMAP支持, 這裡的值就是傳遞給mmap模組的mktemp風格的文件掩碼(建議值為" /tmp/apc.XXXXXX")。此遮罩用於決定記憶體映射區域是否要被file-backed或shared memory backed。對於直接的file-backed記憶體映射,要設定成"/tmp/apc.XXXXXX"的樣子(剛好6X)。要使用POSIX風格的shm_open/mmap就需要設定成"/apc.shm.XXXXXX"的樣子。你也可以設為"/dev/zero"來為匿名映射的記憶體使用核心的"/dev/zero"介面。不定義此指令則表示強制使用匿名對映。
apc.slam_defense integer
在非常繁忙的伺服器上,無論是啟動服務還是修改文件, 都可能由於多個進程企圖同時緩存一個文件而導致競爭條件。這個選項用於設定進程在處理未被快取的檔案時跳過快取步驟的百分率。例如設為75表示在遇到未被緩存的檔案時有75%的機率不進行緩存,從而減少碰撞幾率。反對使用指令,鼓勵設為 0來停用這個特性。建議該用apc.write_lock指令。
Deprecated by apc.write_lock.
apc.file_update_protection integer
當你在一個運作中的伺服器上修改檔案時,你應該執行原子操作。也就是先寫進一個臨時文件,然後將該文件重新命名(mv)到最終的名字。文字編輯器以及 cp, tar 等程式卻不是這樣操作的,從而導致有可能緩衝了殘缺的檔案。預設值 2 表示在存取檔案時如果發現修改時間距離存取時間小於 2 秒則不做緩衝。那個不幸的訪客可能得到殘缺的內容,但是這種壞影響卻不會透過快取擴大化。如果你能確保所有的更新操作都是原子操作,那麼可以用 0 關閉此特性。如果你的系統因為大量的IO操作導致更新緩慢,你就需要增加此值。
apc.enable_cli integer
是否為CLI版本啟用APC功能,僅用於測試和偵錯目的才開啟此選項。在正常情況下不是理想的創建、 填充和銷毀CLI 的每個請求上的APC 緩存,但各種測試方案很有用,能夠輕鬆地使CLI 版本的PHP APC
apc. max_file_size integer
預設1M, 對於大於此值的檔案將不進行快取.
##apc.stat integer是否啟用腳本更新檢查。改變這個指令值要非常小心。預設值 On 表示APC在每次請求腳本時都檢查腳本是否已更新, 如果被更新則自動重新編譯和快取編譯後的內容。但這樣做對性能有不利影響。如果設為 Off 則表示不進行檢查,使性能大幅提高。但為了讓更新的內容生效,你必須重啟Web伺服器(譯者註:如果採用cgi/fcgi類似的,需重啟cgi/fcgi進程)。生產伺服器上腳本檔案很少更改, 可以透過停用本選項獲得顯著的效能提升。
apc.write_lock boolean在繁忙的伺服器上,Web伺服器第一次被啟動,或者很多檔案在同一時間被修改,APC可能會多次編譯同一個文件,寫鎖保證只有一個進程將嘗試編譯並快取未快取的腳本。其他進程試圖使用該腳本將不使用opcode緩存,而不是鎖定和等待快取生成。
apc.report_autofilter boolean
是否記錄所有因early/late binding原因而自動未被快取的腳本。
apc.include_once_override boolean
優化include_once()和require_once()函數以避免執行額外的系統呼叫。
apc.rfc1867 boolean
開啟監控檔案上傳進度功能
apc.rfc1867_prefix string用於上傳檔案的緩衝項目條目名稱前綴
apc.rfc1867_name string需要由APC處理的上傳檔案的隱藏表單項目名稱
#apc.rfc1867_freq string
使用者上傳檔案快取項目的更新頻率。取值可以是總檔案大小的百分比,或以"k", "m", or "g" kilobytes, megabytes, or gigabytes 結尾的絕對尺寸(大小寫不敏感). 0 表示盡可能快的更新,不過這樣可能會導致上傳速度下降。
apc.rfc1867_ttl boolTTL for rfc1867 entries.
apc.localcache boolean
#使用非鎖定本機程序shadow- cache ,它可以減少了向緩衝區寫入時鎖之間的競爭。
apc.localcache.size integer
The size of the local process shadow-cache, should be set to a sufficiently large value, approximately half of apc.num_files_hint.
啟用APC的訊號句柄,例如SIGSEGV訊號,當訊號寫入核心檔案時。當這些訊號被接收,APC將試圖取消映射的共享記憶體段,從核心檔案中排除它。此設定可以提高系統的穩定性,當接受到致命的信號或採用APC的大型共享記憶體段配置方式。
驗證ctime(建立時間)可以避免SVN或rsync帶來的問題,並確保自上次統計inode沒有改變。 APC通常只檢查mtime(修改時間)。
如果設定為on,則在no-state 模式(不檢查檔案更新)時會將相對路徑改為絕對路徑。
#apc.use_request_time boolUse the SAPI request start time for TTL.
記錄檔案的md5值
啟用函數延遲載入
#啟用類別延遲載入 以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網! 相關推薦:
以上是PHP APC的2套設定檔和參數的解析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

禪工作室 13.0.1
強大的PHP整合開發環境