首页
关于
标签合集
友情链接
Search
1
一些简单方面的Linux生产随机密码shell
371 阅读
2
美超微主板IPMI使用教程
338 阅读
3
Ubuntu系统开启root登陆权限
265 阅读
4
linux下502自动重启脚本
254 阅读
5
利用廉价VPS做反代,保护你的真实服务器
197 阅读
OS
促销资讯
管理系统
网站运维
网文资讯
登录
Search
标签搜索
网站架构
linux
网站运营
centos
mysql
google
nginx
ssh
apache
服务器
kloxo
vps
架构分析
PHP
特价VPS
xen
shell
数据库
lamp
vpn
装逼爱好者
累计撰写
163
篇文章
累计收到
20
条评论
首页
栏目
OS
促销资讯
管理系统
网站运维
网文资讯
页面
关于
标签合集
友情链接
搜索到
1
篇与
的结果
2011-04-09
PHP加速器:APC、XCachee、Accelerator的比较
一、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、安装配置APCAPC全称是Alternative PHP Cache,官方翻译叫”可选PHP缓存”,它是PHP PECL中的一个扩展,好像是facebook在使用它,下面开始安装(ubuntu环境):$wget http://pecl.php.net/get/APC-3.0.19.tgz$tar xvzf APC-3.0.19.tgz$cd APC-3.0.19/APC-3.0.19$/usr/local/php/bin/phpize$./configure –enable-apc –enable-apc-mmap –with-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.ini文件进行配置,请把下面的代码加入到php.ini中即可:extension_dir = "/usr/local/php/lib/php/extensions/PECL"extension = apc.so; APCapc.enabled = 1apc.shm_segments = 1apc.shm_size = 64apc.optimization = 1apc.num_files_hint = 0apc.ttl = 0apc.gc_ttl = 3600apc.cache_by_default = on这样重启apache就会在phpinfo()信息中显示。2、安装配置eAcceleratoreAccelerator的前身其实是truck-mmcache,因为开发truk-mmcache的人被Zend给招安了,所以开发eAccelerator的人继承了truk-mmcache的一些特性,设计出eAccelerator加速器。安装如下:$wget http://jaist.dl.sourceforge.net/ ... rator-0.9.5.tar.bz2$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.ini文件中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.filter = ""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在phpinfo()检查是否安装成功.3、安装配置XCacheXCache作为国人自己开发的东西,做小菜鸟的我也感到骄傲,而且XCache无论在速度还是性能上都做的不错。下面就赶紧让我们品尝它吧!$wget http://xcache.lighttpd.net/pub/Releases/1.2.2/xcache-1.2.2.tar.gz$tar xvzf xcache-1.2.2.tar.gz$cd xcache-1.2.2$/usr/local/php/bin/phpize$./configure –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.ini添加配置信息: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_maxttl = 0xcache.var_gc_interval = 300xcache.test = 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去查看phpinfo()信息吧!三、PHP加速器测试1、测试环境硬件: AMD Athlon 64 X2 Dual Core Processor 4400+ @ 2.2GHz CPU, 2GB 内存. 160GB SATA 硬盘软件: Linux Ubuntu server Gutsy 7.10, Apache 2.2.4, MySQL 5.0.45 和 PHP 5.2.3测试指令: ab -c5 -n3000 http://example.com/ (我们使用的是Apache Benchmark (ab) 工具,并发连接为5,3000次请求)2、测试结果无任何加速器:Document Path: /Document Length: 21757 bytesConcurrency Level: 5Time taken for tests: 288.255212 secondsComplete requests: 3000Failed requests: 0Write errors: 0Total transferred: 66777000 bytesHTML transferred: 65271000 bytesRequests 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] receivedConnection Times (ms)min mean[+/-sd] median maxConnect: 0 0 0.5 0 19Processing: 181 479 186.0 444 1822Waiting: 166 461 184.7 427 1708Total: 181 479 186.0 444 1822Percentage of the requests served within a certain time (ms)50% 44466% 52575% 57780% 61990% 73295% 81998% 94699% 1012100% 1822 (longest request)APC加速器:Document Path: /Document Length: 21757 bytesConcurrency Level: 5Time taken for tests: 98.530068 secondsComplete requests: 3000Failed requests: 0Write errors: 0Total transferred: 66777000 bytesHTML transferred: 65271000 bytesRequests 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] receivedConnection Times (ms)min mean[+/-sd] median maxConnect: 0 0 0.0 0 2Processing: 58 163 71.2 155 2452Waiting: 53 158 69.6 150 2329Total: 58 163 71.2 155 2452Percentage of the requests served within a certain time (ms)50% 15566% 17875% 19380% 20490% 23595% 25898% 28599% 302100% 2452 (longest request)eAccelerator加速器:Document Path: /Document Length: 21757 bytesConcurrency Level: 5Time taken for tests: 95.983986 secondsComplete requests: 3000Failed requests: 0Write errors: 0Total transferred: 66777000 bytesHTML transferred: 65271000 bytesRequests 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] receivedConnection Times (ms)min mean[+/-sd] median maxConnect: 0 0 0.1 0 3Processing: 57 159 91.3 148 3830Waiting: 50 152 89.8 142 3704Total: 57 159 91.3 148 3830Percentage of the requests served within a certain time (ms)50% 14866% 17475% 19380% 20590% 23995% 26398% 28999% 309100% 3830 (longest request)XCache加速器:Document Path: /Document Length: 21757 bytesConcurrency Level: 5Time taken for tests: 99.76300 secondsComplete requests: 3000Failed requests: 0Write errors: 0Total transferred: 66777000 bytesHTML transferred: 65271000 bytesRequests 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] receivedConnection Times (ms)min mean[+/-sd] median maxConnect: 0 0 0.0 0 2Processing: 59 164 83.4 155 3367Waiting: 52 156 66.4 148 1802Total: 59 164 83.4 155 3367Percentage of the requests served within a certain time (ms)50% 15566% 17875% 19680% 20690% 23795% 26398% 28799% 305100% 3367 (longest request)3、结果摘要请求时间(秒)单次请求时间(毫秒)最大内存占用(MB)最小内存占用(MB)None10.4196.082424APC30.4532.842121eAccelerator31.2631.992318XCache30.2833.022919四、PHP加速器比较结果总结1、通过测试得出eAccelerator在请求时间和内存占用综合方面是最好的。2、通过测试得出使用加速器比无加速器在请求时间快了3倍左右。3、通过各个官方观察,XCache是更新最快的,这也说明最有发展的。以上是总结结果,你也许会问我到底用那个加速器好呢?我只能告诉你,首先,用一定比不用好,其次每个加速器还有一些可以调优的参数,所以要根据你的系统环境而定,然后,我个人觉得你可以详细研究下eAccelerator和XCache,这两款潜力还是很大的,最后我从比较专业的测试网站搞了一张结果图 cache.jpg (86.65 KB)2010-4-4 22:50
2011年04月09日
16 阅读
0 评论
0 点赞