PHP 预编译加速: eAccelerator的安装和性能比较
eAccelerator已經是很常用的PHP平臺預編譯加速的手段了。今天在自己機器上嘗試安裝了一下,備忘如下:
獲得源代碼:
http://bart.eaccelerator.net/source/
編譯:需要有autoconf支持,解包后在源程序目錄下:
/usr/local/bin/phpize
./configure --enable-eaccelerator=shared --with-php-config=/usr/local/bin/php-config
make
sudo make install
配置增加如下:sudo vi /usr/local/lib/php.ini
extension_dir = "/usr/local/lib/php/extensions"
extension="/no-debug-non-zts-20060613/eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
2006-06-03更新
在apache 2.2的升級過程中:發現php的相關模塊都需要重新編譯 需要注意包含哪個目錄下的 eaccelerator.so 文件
/usr/local/lib/php/extensions$ ls -1
no-debug-non-zts-20020429
no-debug-zts-20020429
否則eAccelerator會無法生效, 我測試的結果在apache 2.2下eAccelerator的效果比apache 1.3下還差一些;
最好創建專用的緩存目錄:
sudo mkdir /tmp/eaccelerator
sudo chmod 0777 /tmp/eaccelerator
重啟一下apache:
sudo /home/apache/bin/apachectl restart
通過phpinfo()已經可以看到:eAccelerator啟用了
[chedong@chedong eaccelerator-0.9.5.3]$ php -v
PHP 5.2.8 (cli) (built: Jan 14 2009 02:44:39)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
with eAccelerator v0.9.5.3, Copyright (c) 2004-2006 eAccelerator, by eAccelerator
用phpinfo這個腳本本身還做了一下性能對比測試:對于純php代碼(不考慮數據庫瓶頸/文件IO等操作)的運行效率的確有3-5倍的效率提升;
測試:
/home/apache/bin/ab -c 20 -n1000 http://www.chedong.com/phpMan.php/phpinfo
eAccelerator 啟用 |eAccelerator 關閉 Document Length: 32006 bytes |Document Length: 29136 bytes Concurrency Level: 20 |Concurrency Level: 20 Time taken for tests: 5.813 seconds |Time taken for tests: 23.896 seconds Complete requests: 1000 |Complete requests: 1000 Failed requests: 89 |Failed requests: 109(Connect: 0, Length: 89, Exceptions: 0) | (Connect: 0, Length: 109, Exceptions: 0) Broken pipe errors: 0 |Broken pipe errors: 0 Total transferred: 32534962 bytes |Total transferred: 29578714 bytes HTML transferred: 32263316 bytes |HTML transferred: 29308693 bytes Requests per second: 172.03 [#/sec] (mean) |Requests per second: 41.85 [#/sec] (mean) Time per request: 116.26 [ms] (mean) |Time per request: 477.92 [ms] (mean) Time per request: 5.81 [ms] |Time per request: 23.90 [ms] Transfer rate: 5596.93 [Kbytes/sec] received |Transfer rate: 1237.81 [Kbytes/sec] received| Connnection Times (ms) |Connnection Times (ms)min mean[+/-sd] median max | min mean[+/-sd] median maxConnect: 0 19 12.1 17 72 |Connect: 0 91 58.9 89 424 Processing: 53 92 22.0 90 219 |Processing: 140 379 209.6 366 4078 Waiting: 39 89 21.9 88 218 |Waiting: 113 359 210.6 349 4076 Total: 53 111 16.4 109 251 |Total: 140 470 203.7 450 4321| Percentage of the requests served within a certain time (ms) |Percentage of the requests served within a certain time (ms) 50% 109 | 50% 45066% 110 | 66% 45375% 111 | 75% 45680% 116 | 80% 46090% 130 | 90% 49095% 145 | 95% 62698% 158 | 98% 83099% 167 | 99% 831100% 251 (last request) | 100% 4321 (last request)
2006-08-21
用yum安裝autoconf時候出警告:
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID db42a60e按照Dan的回復:修復一下 rpm --import /usr/share/rhn/RPM-GPG-KEY 然后再安裝就可以了。
Public key for autoconf-2.59-5.noarch.rpm is not installed
Retrieving GPG key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora
GPG key at file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora (0x4F2A6FD2) is already installedThe GPG keys listed for the "Fedora Core 4 - i386 - Base" repository are already installed but they are not correct for this package.
Check that the correct key URLs are configured for this repository.
2006-11-03 升級PHP后,eAccelerator需要重新編譯,并且設置擴展的公共根路徑:
; Directory in which the loadable extensions (modules) reside.
extension_dir = "/usr/local/lib/php/extensions"
extension="/no-debug-non-zts-20060613/eaccelerator.so"
否則會出現錯誤:
PHP Warning: Unknown(): Unable to load dynamic library './/usr/local/lib/php/extensions/no-debug-non-zts-20020429/eaccelerator.so' - .//usr/local/lib/php/extensions/no-debug-non-zts-20020429/eaccelerator.so: cannot open shared object file: No such file or directory in Unknown on line 0作者:車東 發表于:2006-05-25 15:05 最后更新于:2009-01-14 12:01
版權聲明:可以任意轉載,轉載時請務必以超鏈接形式標明文章原始出處和作者信息及本版權聲明。
http://www.chedong.com/blog/archives/001154.html
?
總結
以上是生活随笔為你收集整理的PHP 预编译加速: eAccelerator的安装和性能比较的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中国机长电影原型
- 下一篇: 说说你最讨厌的老演员,奚美娟,凯丽,罗丽