Win下安裝PHP的APC拓展
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
APC簡(jiǎn)介
APC(Alternative PHP Cache)是一個(gè)PHP緩存。它在內(nèi)存中存儲(chǔ)PHP頁(yè)面并且減少了硬盤的I/O。這對(duì)于性能的提升十分明顯。你甚至可以在CPU使用率下降50%的情況下提升系統(tǒng)50%的性能。 這篇教程我們會(huì)告訴大家如何在windows上安裝APC。我已經(jīng)在windows server 2003上成功測(cè)試。當(dāng)然,在你也可以使用windows xp做為測(cè)試服務(wù)器。 windows下安裝PHP的APC拓展 注意:你不能在一天服務(wù)器上同時(shí)安裝APC和Zend Optimiser,二者只能選其一。 按照下面的方法安裝PHP的APC拓展。 下載正確的版本 我是用的PHP版本是5.2.6,附上下載地址:php_apc_dll for php5_2_6 注意:確定你所下載的APC拓展版本對(duì)應(yīng)了你的PHP版本。 設(shè)置php.ini 編輯php.ini文件,向其中的拓展區(qū)域部分添加如下代碼 extension = php_apc.dll 重啟服務(wù)器,使用phpinfo查看是否成功安裝 phpinfo(); phpinfo查看apc拓展是否安裝成功 查看可用的內(nèi)存 創(chuàng)建一個(gè)php文件apcmeminfo.php print_r(apc_sma_info()); //由緩存使用的內(nèi)存數(shù)量使用這個(gè)公式來(lái)計(jì)算: total_memory = apc.shm_segments * apc.shm_size 在這個(gè)例子中,可用的內(nèi)存大約32 Mb。通常,如果我們需要在我們的緩存中超過(guò)32 Mb,我們應(yīng)該增加APC使用的分段數(shù)量。然而,這可以導(dǎo)致web服務(wù)器錯(cuò)誤,因此最好是增加片斷的大小。我們應(yīng)該逐步為緩存增加可用的總量,以避免內(nèi)存的流失。 默認(rèn)的APC如下: apc.cache_by_default = On apc.enable_cli = Off apc.enabled = On apc.file_update_protection = 2 apc.filters = apc.gc_ttl = 3600 apc.include_once_override = Off apc.max_file_size = 1M apc.num_files_hint = 1000 apc.optimization = Off apc.report_autofilter = Off apc.shm_segments = 1 apc.shm_size = 30 apc.slam_defense = 0 apc.stat = On apc.ttl = 0 apc.user_entries_hint = 100 apc.user_ttl = 0 apc.write_lock = On 關(guān)于APC完整的參數(shù)設(shè)置的解釋,請(qǐng)查閱:http://www.php.net/apc。 下面是一個(gè)php.ini中的一個(gè)APC塊。請(qǐng)將它們粘貼進(jìn)你的php.ini文件中: apc.enabled = 1 apc.shm_segments = 1 apc.shm_size = 64 apc.max_file_size = 10M apc.stat=1 剩余其它的設(shè)置將會(huì)使用默認(rèn)值。 設(shè)置臨時(shí)目錄 APC需要一個(gè)臨時(shí)目錄來(lái)存儲(chǔ)文件。它會(huì)嘗試在windows的臨時(shí)目錄緩存文件,事先請(qǐng)給臨時(shí)目錄寫的權(quán)限。 監(jiān)控和調(diào)優(yōu)緩存 監(jiān)控和調(diào)優(yōu)apc緩存 APC源包含一個(gè)php腳本,該腳本對(duì)于監(jiān)控和調(diào)優(yōu)性能的緩存是很有用的。 1, 下載APC監(jiān)控文件:http://pecl.php.net/package/apc 2, 壓縮包中的apc.php文件顯示APC監(jiān)控信息。 3, 運(yùn)行這個(gè)文件,你會(huì)看到一個(gè)圖形顯示你的緩存一些統(tǒng)計(jì)數(shù)據(jù)。 4, 調(diào)優(yōu)緩存,查看General Cache Information and Detailed Memory Usage and Fragmentation sections(總體緩存信息和詳細(xì)的內(nèi)存使用以及碎片部分)。 5, 監(jiān)視Cache Full Count和碎片百分比,如果Cache Full Count大于0,表示緩存已滿并且頻繁讀寫,因?yàn)闆](méi)有足夠的內(nèi)存被分配。增加apc.shm_size可解決問(wèn)題。 6, 碎片百分比應(yīng)該是0%,但是隨著內(nèi)存頻繁的讀寫,其值會(huì)上漲。 apc.php的安全 注意apc.php的安全,應(yīng)該使用安全認(rèn)證的方式來(lái)控制apc.php的信息輸出,比如: // Moodle user Authentication require_once("../config.php"); require_once($CFG--->libdir.'/adminlib.php'); require_login(); require_capability('moodle/site:config', get_context_instance(CONTEXT_SYSTEM, SITEID)); // Disable APC Auth(APC 的安全認(rèn)證) defaults('USE_AUTHENTICATION',0); //.... 該文章在 2012/6/7 13:12:00 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |