欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

用memcached,xcache做PHP缓存优化的实现步骤

程序员文章站 2022-03-04 08:20:50
...
我们知道,eaccelerator是一个*开放源码php加速器,优化和动态内容缓存,可以提高PHP的脚本缓存性能,并且对脚本起着优化作用,使您的PHP程序代码执行效率能提高1-10倍,今天就教大家PHP优化缓存的方法。

2.缓存原理

用户请求一个PHP程序时,PHP引擎会解析该程序,并将其编译为特定的操作码(opcode),这是一种二进制格式的可执行代码。然后此操作码会由PHP引擎执行并丢弃。操作码缓存将保存这个编译后的操作码,并在下一次调用该页面时重用它,这样就节省了很多重复编译的时间,节省资源,优化性能。
3.安装eaccelerator

调整字符集

#echo 'LC_ALL=C' >> /etc/profile#source /etc/profile
[root@~]#tar jxf eaccelerator-0.9.6.tar.bz2[root@~]#cd eaccelerator-0.9.6
[root@~]#/usr/local/php/bin/phpize
phpize是用来扩展php模块的,通过phpize可以建立php的外挂模块[root@~]#./configure --enable-eaccelerator=shared \
--with-php-config=/usr/local/php-5.3.27/bin/php-config[root@~]#make && make install
[root@~]# ls /usr/local/php-5.3.27/lib/php/extensions/no-debug-zts-20090626/eaccelerator.so

4.配置PHP加载eaccelerator

创建缓存目录

mkdir /tmp/eaccelerator #可目录可以用tmpfs内存文件系统来存储,SSD固态硬盘

chown -R www.www /tmp/eaccelerator

在php.ini中添加以下内容:

eaccelerator cache config by Zhang DeJin 2017-12-1
[eaccelerator]
extension = eaccelerator.so
eaccelerator.shm_size="64"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.chech_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="3600"
eaccelerator.shm_prune_perid="3600"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
--End config
测试:[root@lnmp nginx]# /usr/local/php-5.3.27/bin/php -v
PHP 5.3.27 (cli) (built: Nov 30 2017 05:35:00)
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 eAccelerat

配置完毕

重启httpd或者php-fpm生效

5.版本选择

php5.3.xx 可用eaccelerator-0.9.6版本
php5.2.xx 可用eaccelerator-0.9.5.2版本

2)Xcache

1介绍

XCache 是一个又快又稳定的 PHP opcode 缓存器. 经过良好的测试并在大流量/高负载的生产机器上稳定运行. 经过(在 linux 上)测试并支持所有现行 PHP 分支的最新发布版本, 如 PHP_4_3 PHP_4_4 PHP_5_0 PHP_5_1 PHP_5_2 HEAD(6.x), 并支持线程安全/Windows. 与同类 opcode 缓存器相比更胜一筹, 比如能够快速跟进 PHP 版本. XCache 工程由 mOo 领队, 他也是 Lighttpd 的开发成员之一. Lighttpd 是最快的 Web 服务器应用程序之一, 并且超越 Apache 以及许多其他 Web 服务器. XCache 努力达到类似的效果. 2.安装

tar jxf xcache-1.3.2.tar.bz2cd xcache-1.3.2/usr/local/php-5.3.27/bin/phpize./configure --enable-xcache --with-php-config=/usr/local/php-5.3.27/bin/php-configmake && make install
ls /usr/local/php-5.3.27/lib/php/extensions/no-debug-zts-20090626/

3.配置PHP加载xcache

cd /usr/local/php/lib/


添加备注

echo >> php.ini
echo "xcache config by ZhangDejin 2017-12-1"

修改xcache-1.3.2/xcache.ini,可用sed命令修改
注释第三行

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


注释第六行

zend_extension_ts = c:/php/extensions/php_xcache.dll


启用第八行

;extension = xcache.so


剩下的参数根据服务器配置自行调整
然后加入到php.ini

cat /home/king/xcache-1.3.2/xcache.ini >> php.ini


测试

/usr/local/php-5.3.27/bin/php -v
PHP 5.3.27 (cli) (built: Nov 29 2017 18:03:24)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies
with XCache v1.3.2, Copyright (c) 2005-2011, by mOo

重启httpd或者php-fpm生效

3)memcache客户端,PDO_mysql,imagick扩展库

1.介绍

Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像,视频文件以及数据库检索的结果,简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高了读取速度

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

ImageMagick是一套功能强大,稳定而且免费的工作集和开发包,对图片超过89中格式的图片类型进行改变大小,旋转,锐化,减色等处理,现在它的主要精力集中在性能,减少bug以及提供稳定的API和ABI上

2.安装

tar zxf memcache-2.2.5.tgzcd memcache-2.2.5/usr/local/php-5.3.27/bin/phpize./configure --with-php-config=/usr/local/php-5.3.27/bin/php-configmake && make installln /usr/local/php-5.3.27/lib/php/extensions/no-debug-zts-20090626/ls /usr/local/php-5.3.27/lib/php/extensions/no-debug-zts-20090626/
安装PDO_MYSQL
tar zxf PDO_MYSQL-1.0.2.tgzcd PDO_MYSQL-1.0.2/usr/local/php-5.3.27/bin/phpize./configure --with-php-config=/usr/local/php-5.3.27/bin/php-config --with-pdo-mysql=/usr/local/mysql/make && make installls /usr/local/php-5.3.27/lib/php/extensions/no-debug-non-zts-2009062
yum install perl-devel -ytar zxf ImageMagick.tar.gzcd ImageMagick-6.5.1-2/./configuremake && make install安装imagicktar zxf imagick-2.3.0.tgzcd imagick-2.3.0/usr/local/php-5.3.27/bin/phpize./configure --with-php-config=/usr/local/php-5.3.27/bin/php-configmake && make installls /usr/local/php-5.3.27/lib/php/extensions/no-debug-zts-20090626/配置PHP加载pdo_mysql,memcache,imagick等模块修改extension_dir = "./"为extension_dir = "/usr/local/php-5.3.27/lib/php/extensions/no-debug-zts-20090626/"添加这几个模块;--cache ext start by Zhang Dejin 2017-12-1extension = memcache.soextension = pdo_mysql.soextension = imagick.so;End config:

查看nginx编译参数
nginx -V
查看httpd编译参数
cat httpd/build/config.nice
查看mysql编译参数
grep "CONFIGURE_LINE" mysql/bin/mysqlbug
php编译参数
php/bin/php -i|grep configure

完毕


相信看了这些案例你已经掌握了方法,更多精彩请关注其它相关文章!

相关阅读:

驼峰命名与JS的问题解答

JS里的布尔值、关系运算符、逻辑运算符的详解及实例

前端的js框架总结以及用途讲解

以上就是用memcached,xcache做PHP缓存优化的实现步骤的详细内容,更多请关注其它相关文章!