三款免费的PHP加速器APC、 eAcce lera tor、XCache比较
2012-03-22 13:34:25| 分类 php|举报|字号订阅
一、 PHP加速器介绍
PHP加速器是一个为了提高PHP执行效率从而缓存起PHP的操作码这样PHP后面执行就不用解析转换了可以直接调用PHP操作码这样速度上就提高了不少。
Apache中使用mod_php的请求、响应执行流程
1、Apache接收请求。
2、Apache传递请求给mod_php。
3、mod_php定位磁盘文件并加载到内存中。
4、mod_php编译源代码成为opcode树。
5、mod_php执行opcode树。
PHP加速器相应的就是第四步它的目的就是防止PHP每次请求都重复编译PHP代码因为在高访问量的网站上大量的编译往往没有执行速度快呢所以这里面有个瓶颈就是PHP的重复编译既影响了速度又加载了服务器负载为了解决此问题 PHP加速器就这样诞生了。
二、 PHP加速器安装与配置
1、安装配置APC
APC全称是Alternative PHP Cache,官方翻译叫”可选PHP缓存”,它是PHP PECL中的一个扩展好像是f acebook在使用它下面开始安装ubuntu环境
$wget
$tar xvzf APC-3.0.19. tgz
$cd APC-3.0.19/APC-3.0.19
$/usr/local/php/bin/phpize
$./conf igure –enable-apc –enable-apc-mmap –wi th-php-config=/usr/local/php/bin/php-config
$make
$sudo make install
下面我们再配置APC,因为我的PECL扩展路径改变了所以我得移动下编译好的文件
$sudo mv /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/apc.so /usr/local/php/lib/php/extensions/PECL
然后我们再编辑php. i n i文件进行配置请把下面的代码加入到php. i n i中即可extension_dir = "/usr/local/php/lib/php/extensions/PECL"extension =apc.so
; APCapc.enabled = 1apc.shm_segment s = 1apc.shm_size =64apc.optimization = 1apc.num_=0apc.ttl =0apc.gc_ttl = 3600apc.cache_by_defaul t =on
这样重启apache就会在php info()信息中显示。
2、安装配置eAccelerator
eAcce lera tor的前身其实是t ruck-mmcache 因为开发t ruk-mmcache的人被Zend给招安了所以开发eAccelerator的人继承了truk-mmcache的一些特性设计出eAccelerator加速器。安装如下
$wget
$tar -jxf eaccelerator-0.9.5. tar.bz2
$cd eaccelerator-0.9.5
$/usr/local/php/bin/phpize
$./configure –enable-eaccelerator=shared –with-php-config=/usr/local/php/bin/php-config
$make
$sudo make install
$sudo mv /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so /usr/local/php/lib/php/extensions/PECL
将下面代码加入php. i n i文件中extension =eaccelerator.so
; eAcceleratoreaccelerator.shm_size = "16"eaccelerator.cache_dir = "/tmp/eaccelerator"eaccelerator.enable = "1"eaccelerator.optimizer = "1"eaccelerator.check_mtime = "1"eaccelerator.debug = "0"eaccelerator.fi lter = ""eaccelerator.shm_max = "0"eaccelerator.shm_ttl = "0"eaccelerator.prune_period = "0"eaccelerator.shm_only = "0"eaccelerator.compress = "1"eaccelerator.compress_level = "9"
创建缓存目录,重启apache
$sudo mkdir /tmp/eaccelerator
$sudo chmod 777 /tmp/eaccelerator
$sudo /usr/local/apache/apachectl restart
在php in fo()检查是否安装成功.
3、安装配置XCac h e
XCach e作为国人自己开发的东西做小菜鸟的我也感到骄傲而且XCach e无论在速度还是性能上都做的不错。下面就赶紧让我们品尝它吧
$wget
$tar xvzf xcache-1 .2.2. tar.gz
$cd xcache-1 .2.2
$/usr/local/php/bin/phpize
$./conf igure –enable-xcache –enable-xcache-coverager –with-php-config=/usr/local/php/php-config
$make
$sudo make install
$sudo mv /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/xcache.so /usr/local/php/lib/php/extensions/PECL
在php. i n i添加配置信息extension =xcache.so
; xcachexcache.admin.user = "admin"xcache.admin.pass = "(执行) echo ’(你的密码)’ |md5sum(得出的密文)"
;xcache.size =24Mxcache.shm_scheme = "mmap"xcache.count =2xcache.slots = 8kxcache. ttl =0xcache.gc_interval =0xcache.var_size = 8Mxcache.var_count = 1xcache.var_slots = 8kxcache.var_ttl =0xcache.var_maxtt l =0xcache.var_gc_interval = 300xcache. tes t =Offxcache.readonly_protection =Onxcache.mmap_path = "/tmp/xcache"xcache.coredump_directory = ""xcache.cacher =Onxcache.stat =Onxcache.optimizer =Off
;xcache.coverager =Onxcache.coveragedump_directory = ""
创建缓存目录重启apache
$sudo mkdir /tmp/xcache
$sudo chmod 777 /tmp/xcache
$sudo /usr/local/apache/bin/apachectl restart
去查看php in fo()信息吧
三、 PHP加速器测试
1、测试环境
硬件: AMD Athlon 64 X2 Dual Core Processor 4400+@2.2GHz CPU, 2GB内存. 160GBSATA硬盘
软件: Linux Ubuntu server Gutsy 7.10, Apache 2.2.4,MySQL 5.0.45和PHP 5.2.3测试指令: ab -c5 -n3000 (我们使用的是Apache Benchmark (ab) 工具并发连接为
5 3000次请求)
2、测试结果
无任何加速器:
Document Path: /
Document Length: 21757 byte s
Concurrency Level : 5
Time taken for tests : 288.255212 seconds
Complete requests : 3000
Failed requests : 0
Write errors: 0
Total transferred: 66777000 bytes
HTMLtransferred: 65271000 bytes
Requests per second: 10.41 [#/sec] (mean)
Time per request : 480.425 [ms] (mean)
Time per request : 96.085 [ms] (mean, across all concurrent requests)Transfer rate: 226.23 [Kbytes/sec] received
Connection Times (ms)min mean[+/-sd]median max
Connec t: 0 0 0.5 0 19
Processing: 181 479 186.0 444 1822
Waiting: 166 461 184.7 427 1708
Total : 181 479 186.0 444 1822
Percentage of the requests served within a certain time (ms)50%444
66%525
75%577
80%619
90%732
95%819
98%946
99%1012
100%1822 (longest request)
APC加速器:
Document Path: /
Document Length: 21757 byte s
Concurrency Level : 5
Time taken for tests : 98.530068 seconds
Complete requests : 3000
Failed requests : 0
Write errors: 0
Total transferred: 66777000 bytes
HTMLtransferred: 65271000 bytes
Requests per second: 30.45 [#/sec] (mean)
Time per request : 164.217 [ms] (mean)
Time per request : 32.843 [ms] (mean, across all concurrent requests)Transfer rate: 661 .84 [Kbytes/sec] received
Connection Times (ms)min mean[+/-sd]median max
Connec t: 0 0 0.0 0 2
Processing: 58 163 71 .2 155 2452
Waiting: 53 158 69.6 150 2329
Total : 58 163 71 .2 155 2452
Percentage of the requests served within a certain time (ms)50%155
66%178
75%193
80%204
90%235
95%258
98%285
99%302
100%2452 (longest request)eAccelerator加速器:
Document Path: /
Document Length: 21757 byte s
Concurrency Level : 5
Time taken for tests : 95.983986 seconds
Complete requests : 3000
Failed requests : 0
Write errors: 0
Total transferred: 66777000 bytes
HTMLtransferred: 65271000 bytes
Requests per second: 31 .26 [#/sec] (mean)
Time per request : 159.973 [ms] (mean)
Time per request : 31 .995 [ms] (mean, across all concurrent requests)Transfer rate: 679.39 [Kbytes/sec] received
Connection Times (ms)min mean[+/-sd]median max
Connec t: 0 0 0.1 0 3
Processing: 57 159 91 .3 148 3830
Waiting: 50 152 89.8 142 3704
Total : 57 159 91 .3 148 3830
Percentage of the requests served within a certain time (ms)50%148
66%174
75%193
80%205
90%239
95%263
98%289
99%309
100%3830 (longest request)
XCach e加速器:
Document Path: /
Document Length: 21757 byte s
Concurrency Level : 5
Time taken for tests : 99.76300 seconds
Complete requests : 3000
Failed requests : 0
Write errors: 0
Total transferred: 66777000 bytes
HTMLtransferred: 65271000 bytes
Requests per second: 30.28 [#/sec] (mean)
Time per request : 165.127 [ms] (mean)
Time per request : 33.025 [ms] (mean, across all concurrent requests)Transfer rate: 658.19 [Kbytes/sec] received
Connection Times (ms)min mean[+/-sd]median max
Connec t: 0 0 0.0 0 2
Processing: 59 164 83.4 155 3367
Waiting: 52 156 66.4 148 1802
Total : 59 164 83.4 155 3367
Percentage of the requests served within a certain time (ms)50%155
66%178
75%196
80%206
90%237
95%263
98%287
99%305
100%3367 (longest request)
3、结果摘要
四、 PHP加速器比较结果总结
1、通过测试得出eAccelerator在请求时间和内存占用综合方面是最好的。
2、通过测试得出使用加速器比无加速器在请求时间快了3倍左右。
3、通过各个官方观察XCac h e是更新最快的这也说明最有发展的。
商家介绍:创梦云是来自国内的主机销售商,成立于2018年4月30日,创梦云前期主要从事免备案虚拟主机产品销售,现在将提供5元挂机宝、特惠挂机宝、香港云服务器、美国云服务器、低价挂机宝等产品销售。主打高性价比高稳定性挂机宝、香港云服务器、美国云服务器、香港虚拟主机、美国虚拟主机。官方网站:http://cmy0.vnetdns.com本次促销产品:地区CPU内存硬盘带宽价格购买地址香港特价云服务器1...
快云科技已稳步运行进两年了 期间没出现过线路不稳 客户不满意等一系列问题 本司资质齐全 持有IDC ICP ISP等正规手续 有独特的网站设计理念 在前几天刚是参加过魔方系统举行的设计大赛拿获最佳设计奖第一名 本公司主营产品 香港弹性云服务器,美国vps和日本vps,香港物理机,国内高防物理机以及美国日本高防物理机 2020年的国庆推出过一款香港的回馈用户特惠机 已作为传家宝 稳定运行 马上又到了...
无忧云怎么样?无忧云值不值得购买?无忧云,无忧云是一家成立于2017年的老牌商家旗下的服务器销售品牌,现由深圳市云上无忧网络科技有限公司运营,是正规持证IDC/ISP/IRCS商家,主要销售国内、中国香港、国外服务器产品,线路有腾讯云国外线路、自营香港CN2线路等,都是中国大陆直连线路,非常适合免备案建站业务需求和各种负载较高的项目,同时国内服务器也有多个BGP以及高防节点。目前,四川雅安机房,4...