lamp/lnmp优化1

关于lamp和lnmp组合就不多提了,lamp主要是apache+php(libphp5.so),lnmp主要是nginx+php(fcgi php-fpm),这里主要介绍一下对php进行优化,对应一个主配置文件进行优化,就是php.ini。

为什么需要缓存,因为php是一个解释型语言,每次请求都会从头解析程序,将其编译为特定操作码,之后由php引擎执行并且丢弃掉。有了缓存之后就可以保存这个操作码,并且在下一次调用页面时候重用,这样可以大大重复解析的开销。再有另外一种情况就是当有动态请求时需要请求数据库,这个时候可能会出现瓶颈,也需要缓存。

这里先来看下操作码缓存的问题。这里其实是安装额外的模块来解决这个问题。我们可以选择php eaccelerator(php5.3及以下版本)、xcache、zend或者apc。根据建议选择前面两款,更推荐xcache。因为更快,社区更活跃。

对于上面说到的数据库部分的优化我们这里选用memcached。这里读数据会优先读取缓存,缓存没有会去数据库找数据,并存入缓存一份。我们还需要安装pdo_mysql插件,这个相当于sql语句php的封装。

接下来安装imagemagick来处理图像,这个软件需要安装imagick php来使用。以上就把缓存优化需要的插件全都介绍完毕了。

首先我们要把上面安装的插件全都写到php.ini里,确保php生效。

eg.

extension=memcache.so

extension=pdo_mysql.so

extension=imagick.so

接下来配置php eaccelerator,请搜索该软件相关参数,之后按照需求把参数写入php.ini即可。xcache也同样,把配置文件相关参数写入php.ini即可。但是这两款软件只能选择其中一款,同时写入会冲突。

对于上述软件,类似画图或者数据库的插件,有需求装,没需求可以不装。像xcache或者eaccelerator性能优化的最好装上。

以上主要是针对php缓存方面的优化。

以上就介绍了lamp/lnmp优化1–缓存,包括了方面的内容,希望对php教程有兴趣的朋友有所帮助。

Posted in 未分类

发表评论