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