php-accelerator網(wǎng)站加速PHP緩沖的方法
更新時(shí)間:2008年07月30日 09:04:45 作者:
我們知道 Zend 有免費(fèi)的優(yōu)化引擎針對(duì) PHP 而作,但是 FreeLAMP 這次采用的是一個(gè)叫做 PHP Accelerator 的緩沖產(chǎn)品。
http://php-accelerator.co.uk/ 可以下載,是zend的強(qiáng)勁對(duì)手。是免費(fèi)的。我已經(jīng)在用啦。效果還不錯(cuò)。
修改 PHP.ini 加上:
zend_extension = /usr/local/lib/php_accelerator_1.3.3r2.so
phpa = on
phpa.tweaks = on
phpa.cache_dir = /tmp
phpa.file_perms = 400
phpa.cache_file_prune_period = 1h
phpa.cache_file_ttl = 1d
phpa.shm_size = 10
phpa.shm_key = 0xc0deb00
phpa.shm_perms = 666
phpa.shm_user = nobody
phpa.shm_group = nobody
phpa.shm_release_at_exit = on
phpa.shm_stats_check_period = 5m
phpa.shm_ttl = 12h
phpa.shm_max_processes = 512
phpa.shm_lock_threshold0 = 10
apachectl graceful 就能用啦。具體參數(shù)看它的文檔。
我們?cè)?nbsp;“LAMP 加速” 這篇文章中闡述過加速的幾種辦法,其中提到了 PHP Accelerator,它的安裝方法十分簡(jiǎn)單,但是需要去他的網(wǎng)站獲取一個(gè)激活鍵。
一、下載:
www.php-accelerator.co.uk/download.php
二、獲取激活鍵并安裝:
www.php-accelerator.co.uk/activate.php
注冊(cè)自己的 SERVER_NAME 后,你會(huì)得到下面的提示:
Your key for www.freelamp.com is 8edfd13946c96309244fcca309415902
Now you must set the key for www.freelamp.com in your site configuration.
For single domains not using virtual hosts
The key can be set in the php.ini file as follows:
# PHPA key for www.freelamp.com
#
phpa.registration_key = 8edfd13946c96309244fcca309415902
For domains setup as a virtual host
Add the key to the domain specific section for your web server.
# www.freelamp.com VHost entry
#
< VirtualHost 10.20.30.40>
ServerName www.freelamp.com
# ... (other vhost specific config)
# php settings
php_value phpa.registration_key 8edfd13946c96309244fcca309415902
# also enable phpa if set to off in the php.ini (the default is on)
php_value phpa 1
< /VirtualHost>
具體的 phpa 值的設(shè)置,可以參考軟件隨帶的 CONFIGURATION 文件的配置。
由于大多數(shù)網(wǎng)站是虛擬主機(jī)配置,所以,建議采用 php_value phpa. 的方式設(shè)置。
例如:
php_value phpa.tweaks off
php_value phpa.cache_dir /tmp
php_value phpa.file_perms 400
php_value phpa.ignore_files "/index.php, /a/test.php"
# php_value phpa.ignore_dirs "/data/WWW/site1/,/cache/"
php_value phpa.shm_size 8
php_value phpa.shm_key 0xc0deb00
php_value phpa.shm_perms 664
三、設(shè)置 php.ini
假設(shè)我們把下載后的文件解開到 /usr/local/php ,那么在 php.ini 中加入:
zend_extension=/usr/local/php/php_accelerator_1.2p2.so
并注釋掉原來的 Zend 優(yōu)化引擎:
# zend_extension=/usr/local/Zend/lib/ZendOptimizer.so
重新啟動(dòng) Apache ,用瀏覽器瀏覽一個(gè)任意 PHP 頁面可以看到 /tmp 下面生成了一些 phpa 開頭的文件。另外一個(gè)檢查緩沖是否起作用的辦法是看 phpinfo() 的輸出,原來的 Zend 優(yōu)化引擎的說明部分,已經(jīng)被顯示成:
This program makes use of the Zend Scripting Language Engine:
Zend Engine v1.1.1, Copyright (c) 1998-2001 Zend Technologies
with the PHP Accelerator v1.2p2, Copyright (c) 2001-2002, by Nick Lindridge
需要說明的是,安裝 INSTALL 安裝說明上的辦法,其中的 .so 文件和真實(shí)的 .so 文件有差異,所以,你在安裝的時(shí)候需要注意到這個(gè)區(qū)別。
四、調(diào)整緩沖大小
PHP Accelerator 提供了緩沖管理命令:
phpa_cache_admin -mv 觀察內(nèi)存的緩沖情況
phpa_cache_admin -fv 觀察文件的緩沖情況
phpa_cache_admin -k 設(shè)置緩沖大小
五、總結(jié)
該軟件提供的 INSTALL 文件闡述了關(guān)于性能上的一些說法,筆者不在這里贅述。
需要說明的是,F(xiàn)reeLAMP.com 的文章目前不是 PHP 架構(gòu)的,但是論壇系統(tǒng)是 PHP 架構(gòu)的,所以性能上的提升只會(huì)是論壇系統(tǒng)的提升
修改 PHP.ini 加上:
zend_extension = /usr/local/lib/php_accelerator_1.3.3r2.so
phpa = on
phpa.tweaks = on
phpa.cache_dir = /tmp
phpa.file_perms = 400
phpa.cache_file_prune_period = 1h
phpa.cache_file_ttl = 1d
phpa.shm_size = 10
phpa.shm_key = 0xc0deb00
phpa.shm_perms = 666
phpa.shm_user = nobody
phpa.shm_group = nobody
phpa.shm_release_at_exit = on
phpa.shm_stats_check_period = 5m
phpa.shm_ttl = 12h
phpa.shm_max_processes = 512
phpa.shm_lock_threshold0 = 10
apachectl graceful 就能用啦。具體參數(shù)看它的文檔。
我們?cè)?nbsp;“LAMP 加速” 這篇文章中闡述過加速的幾種辦法,其中提到了 PHP Accelerator,它的安裝方法十分簡(jiǎn)單,但是需要去他的網(wǎng)站獲取一個(gè)激活鍵。
一、下載:
www.php-accelerator.co.uk/download.php
二、獲取激活鍵并安裝:
www.php-accelerator.co.uk/activate.php
注冊(cè)自己的 SERVER_NAME 后,你會(huì)得到下面的提示:
Your key for www.freelamp.com is 8edfd13946c96309244fcca309415902
Now you must set the key for www.freelamp.com in your site configuration.
For single domains not using virtual hosts
The key can be set in the php.ini file as follows:
# PHPA key for www.freelamp.com
#
phpa.registration_key = 8edfd13946c96309244fcca309415902
For domains setup as a virtual host
Add the key to the domain specific section for your web server.
# www.freelamp.com VHost entry
#
< VirtualHost 10.20.30.40>
ServerName www.freelamp.com
# ... (other vhost specific config)
# php settings
php_value phpa.registration_key 8edfd13946c96309244fcca309415902
# also enable phpa if set to off in the php.ini (the default is on)
php_value phpa 1
< /VirtualHost>
具體的 phpa 值的設(shè)置,可以參考軟件隨帶的 CONFIGURATION 文件的配置。
由于大多數(shù)網(wǎng)站是虛擬主機(jī)配置,所以,建議采用 php_value phpa. 的方式設(shè)置。
例如:
php_value phpa.tweaks off
php_value phpa.cache_dir /tmp
php_value phpa.file_perms 400
php_value phpa.ignore_files "/index.php, /a/test.php"
# php_value phpa.ignore_dirs "/data/WWW/site1/,/cache/"
php_value phpa.shm_size 8
php_value phpa.shm_key 0xc0deb00
php_value phpa.shm_perms 664
三、設(shè)置 php.ini
假設(shè)我們把下載后的文件解開到 /usr/local/php ,那么在 php.ini 中加入:
zend_extension=/usr/local/php/php_accelerator_1.2p2.so
并注釋掉原來的 Zend 優(yōu)化引擎:
# zend_extension=/usr/local/Zend/lib/ZendOptimizer.so
重新啟動(dòng) Apache ,用瀏覽器瀏覽一個(gè)任意 PHP 頁面可以看到 /tmp 下面生成了一些 phpa 開頭的文件。另外一個(gè)檢查緩沖是否起作用的辦法是看 phpinfo() 的輸出,原來的 Zend 優(yōu)化引擎的說明部分,已經(jīng)被顯示成:
This program makes use of the Zend Scripting Language Engine:
Zend Engine v1.1.1, Copyright (c) 1998-2001 Zend Technologies
with the PHP Accelerator v1.2p2, Copyright (c) 2001-2002, by Nick Lindridge
需要說明的是,安裝 INSTALL 安裝說明上的辦法,其中的 .so 文件和真實(shí)的 .so 文件有差異,所以,你在安裝的時(shí)候需要注意到這個(gè)區(qū)別。
四、調(diào)整緩沖大小
PHP Accelerator 提供了緩沖管理命令:
phpa_cache_admin -mv 觀察內(nèi)存的緩沖情況
phpa_cache_admin -fv 觀察文件的緩沖情況
phpa_cache_admin -k 設(shè)置緩沖大小
五、總結(jié)
該軟件提供的 INSTALL 文件闡述了關(guān)于性能上的一些說法,筆者不在這里贅述。
需要說明的是,F(xiàn)reeLAMP.com 的文章目前不是 PHP 架構(gòu)的,但是論壇系統(tǒng)是 PHP 架構(gòu)的,所以性能上的提升只會(huì)是論壇系統(tǒng)的提升
您可能感興趣的文章:
相關(guān)文章
php array_flip() 刪除數(shù)組重復(fù)元素
在PHP中,用于刪除數(shù)組中重復(fù)元素有一個(gè)可用的函數(shù),那就是 array_unique(), 但是它并不是一個(gè)最高效的方法,使用array_flip() 函數(shù)將比array_uniqure()在速度上高出五倍左右。2009-01-01PHP file_get_contents設(shè)置超時(shí)處理方法
今天說的這篇是講超時(shí)的,確實(shí)在跨服務(wù)器提交的時(shí)候,不可避免的會(huì)遇到超時(shí)的情況,這個(gè)時(shí)候怎么辦?set_time_limit是沒有用的,只有用context中的timeout時(shí)間來控制2013-09-09PHP+MySQL實(shí)現(xiàn)輸入頁碼跳轉(zhuǎn)到指定頁面功能示例
這篇文章主要介紹了PHP+MySQL實(shí)現(xiàn)輸入頁碼跳轉(zhuǎn)到指定頁面功能,結(jié)合實(shí)例形式分析了php連接mysql數(shù)據(jù)庫進(jìn)行數(shù)據(jù)查詢及分頁顯示、指定頁數(shù)跳轉(zhuǎn)顯示等相關(guān)操作技巧,需要的朋友可以參考下2018-06-06PHP中register_globals參數(shù)為OFF和ON的區(qū)別(register_globals 使用詳解)
register_globals是php.ini里的一個(gè)配置,這個(gè)配置影響到php如何接收傳遞過來的參數(shù),如果你的問題是:為什么我的表單無法傳遞數(shù)據(jù)?為什么我的程序無法得到傳遞過來的變量?等等,那么你需要仔細(xì)的閱讀以下的內(nèi)容2012-02-02