php引擎优化
admin
2023-06-08 12:01:36
0

php引擎优化

6.1.php引擎缓存优化

    首先,影响php效率的主要有2个因素。其一:libphp5.so需要编译php源代码成为opcode树(操作码);其二:php需要与数据库进行读写,数据库的并发能力很低。


    于是php缓存加速器为的就是解决上述第一个原因,将opcode内容进行缓存,目的是防止php每次请求都重复编译php程序代码,因为在高访问量的网站上,大量的重复编译会小号很多资源和时事件,所以这里的瓶颈就是php的重复编译既影响了相应速度,又加重了服务器的负载,为了解决此问题,php加速器就这样诞生了


    解决php与mysql之间的问题,用到了memcache,在php与mysql之间架设缓存,有效提高了数据库的并发数。



查看nginx编译参数

/application/nginx/sbin/nginx -V

查看nginx版本

/application/nginx/sbin/nginx -v


查看apache版本

/application/apache/bin/apachectl -v

查看apache编译参数

cat /application/apache/build/config.nice


查看Mysql编译参数

grep CONFIGURE_LINE /application/mysql/bin/mysqlbug


查看php编译参数

/application/php/bin/php -i | grep configure



6.1.1安装php引擎缓存加速器

echo 'export LC_ALL=C' >> /etc/profile

source /etc/profile

echo $LC_ALL

yum install perl-CPAN


(1) eaccelerator

tar xf eaccelerator-0.9.6.tar.bz2

cd eaccelerator-0.9.6

/application/php/bin/phpize

./configure \

--enable-eaccelerator=shared \

--with-php-config=/application/php/bin/php-config

make

make install


make install完成会显示这样一个目录,记录下来

ls /application/php5.3.27/lib/php/extensions/no-debug-zts-20090626/


(2)xcache

http://xcache.lighttpd.net


/application/php/bin/phpize

./configure \

--enable-xcache \

--with-php-config=/application/php/bin/php-config

make

make install

注意:xcache与eaccelerator只要装一个就好了


php缓存加速软件种类

xcache,eaccelerator,Zend,apc

如何选择

建议xcache,eaccelerator 二选一

xcache>eaccelerator

原因:

a.xcache更快,效率更高

b.xcache开发更活跃


操作码缓存加速软件↑



6.1.2数据库缓存memcache

php瓶颈:

1.本身需要解析php代码

2.需要请求数据库,数据库并发比较低

解决方案:在php与数据库之间架设缓存,memcached(客户端软件)


服务端memcached-1.4.3.tar.gz

客户端memcache-2.2.5.tgz


tar xf memcache-2.2.5.tgz

cd memcache-2.2.5

/application/php/bin/phpize

./configure --with-php-config=/application/php/bin/php-config


ls /application/php5.3.27/lib/php/extensions/no-debug-zts-20090626/



6.1.3PDO_MYSQL扩展模块

PDO扩展为PHP访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询并获取数据


tar xf PDO_MYSQL-1.0.2.tgz

cd PDO_MYSQL-1.0.2

/application/php/bin/phpize

./configure \

--with-php-config=/application/php/bin/php-config \

--with-pdo-mysql=/application/mysql

make

make install


ls /application/php5.3.27/lib/php/extensions/no-debug-zts-20090626/



6.1.4安装图像处理程序及imagick扩展模块

BEGIN failed--compilation aborted at Makefile.PL line 24.

make[1]: *** [PerlMagick/Makefile] Error 2

make[1]: Leaving directory `/home/xiaoyi/tools/ImageMagick-6.5.1-2'

make: *** [all] Error 2


yum install perl-CPAN -y

tar xf ImageMagick.tar.gz

cd ImageMagick-6.5.1-2/

make

make install

cd ..


tar xf imagick-2.3.0.tgz

cd imagick-2.3.0

/application/php/bin/phpize

./configure --with-php-config=/application/php/bin/php-config

make

make install


[root@apache imagick-2.3.0]# ls /application/php5.3.27/lib/php/extensions/no-debug-zts-20090626/

eaccelerator.so  imagick.so  memcache.so  pdo_mysql.so



6.1.5配置扩展插件

cp /application/php/lib/php.ini /application/php/lib/php.ini.bak

vim /application/php/lib/php.ini

819  extension_dir = "/application/php5.3.27/lib/php/extensions/no-debug-zts-20090626/"

尾行追加

1919 ; ----------------------

1920 extension = memcache.so

1921 extension = pdo_mysql.so

1922 extension = imagick.so

1923 ;-----------------------

快速复制:

extension = memcache.so

extension = pdo_mysql.so

extension = imagick.so


(1)配置eaccelerator插件

1.配置eaccelerator缓存目录

mkdir -p /tmp/eaccelerator

chown ett /tmp/eaccelerator -R

此目录可以用tmpfs内存文件系统来存储,SSD固态硬盘


cat >> /application/php/lib/php.ini <

[eaccelerator]

extension=eaccelerator.so

eaccelerator.shm_size="64"

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="3600"

eaccelerator.shm_prune_period="3600"

eaccelerator.shm_only="0"

eaccelerator.compress="1"

eaccelerator.compress_level="9"

EOF


如果配置了Zend [eaccelerator]要放在Zend的内容配置前

[root@apache imagick-2.3.0]# /application/php/bin/php -v

PHP 5.3.27 (cli) (built: Apr 13 2015 10:53:41) 

Copyright (c) 1997-2013 The PHP Group

Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies

    with eAccelerator v0.9.6, Copyright (c) 2004-2010 eAccelerator, by eAccelerator



(2)配置xcache插件加速

cp php-5.3.27/php.ini-production /application/php/lib/php.ini

vim /home/xiaoyi/tools/xcache-1.3.2/xcache.ini编辑修改xcache配置参数


注释3 ;zend_extension = /usr/local/lib/php/extensions/non-debug-non-zts-xxx/xcache.so

注释6 ;zend_extension_ts = c:/php/extensions/php_xcache.dll

取消注释8 extension = xcache.so

cat /home/xiaoyi/tools/xcache-1.3.2/xcache.ini >> /application/php/lib/php.ini


最后通过phpinfo();检查都扩展都已安装

phpinfo();

?>


wget http://blog.zyan.cc/soft/linux/webbench/webbench-1.5.tar.gz

tar xf webbench-1.5.tar.gz

cd webbench-1.5

make 

make install


  565  webbench -c 100 -t 10 http://bbs.etiantian.org/forum.php

  566  webbench -c 200 -t 10 http://bbs.etiantian.org/forum.php

  567  webbench -c 300 -t 10 http://bbs.etiantian.org/forum.php

  568  webbench -c 400 -t 10 http://bbs.etiantian.org/forum.php

  569  webbench -c 500 -t 10 http://bbs.etiantian.org/forum.php

  570  webbench -c 500 -t 30 http://bbs.etiantian.org/forum.php

  571  webbench -c 600 -t 30 http://bbs.etiantian.org/forum.php

  572  webbench -c 650 -t 30 http://bbs.etiantian.org/forum.php

  573  webbench -c 550 -t 30 http://bbs.etiantian.org/forum.php

  574  webbench -c 520 -t 30 http://bbs.etiantian.org/forum.php

  575  webbench -c 510 -t 30 http://bbs.etiantian.org/forum.php


未安装eaccelerator之前忘记对网站进行压力测试了 - -


相关内容

热门资讯

神二十三发射任务将创下多个“首... 神舟二十三号即将发射,现场各项准备工作如何?凤凰卫视特派记者孙伟健从酒泉卫星发射中心发回现场报道。
山西留神峪煤矿事故调查:写满安... 5月22日19时29分,山西沁源的暮色尚未完全降临,有着45年开矿历史的通洲集团留神峪煤矿,骤然迎来...
从狮子山下,奔赴星辰,东方之珠... 原标题:从狮子山下,奔赴星辰——香港热议载荷专家黎家盈逐梦太空 23日上午,神舟二十三号载人飞行任务...
选购激光熔覆设备:五个关键要点... 在工程建设、大型装备维护等领域,激光熔覆修复技术以其高精度、低热影响的特点,正成为关键零部件延寿再制...
NASA卫星发布其迄今最完整系... IT之家 5 月 24 日消息,美国国家航空航天局的系外行星探测卫星凌日系外行星巡天卫星(TESS)...
机器人成文博会顶流:AI+文化... 5月21日至25日,第二十二届中国(深圳)国际文化产业博览交易会(文博会)在深圳国际会展中心举行,这...
神舟二十三号瞄准北京时间今日2... 5月23日,神舟二十三号航天员朱杨柱(中)、张志远(右)、黎家盈在酒泉卫星发射中心问天阁与媒体记者集...
一文读懂:美伊协议谈得怎么样? 新华社北京5月24日电 美国总统特朗普23日称与伊朗已“基本谈成”一份包括开放霍尔木兹海峡在内的协议...
取用地下水的河南尉氏县,为何因... 极目新闻记者 詹钘连续呕吐腹痛两天后,河南尉氏县居民段梅(化名)终于缓了过来。5月22日早晨,她尝试...
一次补税超5亿,知名医院怎么了... 5月20日,爱尔眼科医院集团股份有限公司发布公告称,经自查,公司需补缴税款3.48亿元、滞纳金1.7...