php-accelerator网站加速PHP缓冲的方法

2015-01-24信息快讯网

我们知道 Zend 有免费的优化引擎针对 PHP 而作,但是 FreeLAMP 这次采用的是一个叫做 PHP Accelerator 的缓冲产品。

http://php-accelerator.co.uk/ 可以下载,是zend的强劲对手。是免费的。我已经在用啦。效果还不错。
修改 PHP.ini 加上:
zend_extension = /usr/local/lib/php_accelerator_1.3.3r2.so
phpa = on
phpa.tweaks = on
phpa.cache_dir = /tmp
phpa.file_perms = 400
phpa.cache_file_prune_period = 1h
phpa.cache_file_ttl = 1d
phpa.shm_size = 10
phpa.shm_key = 0xc0deb00
phpa.shm_perms = 666
phpa.shm_user = nobody
phpa.shm_group = nobody
phpa.shm_release_at_exit = on
phpa.shm_stats_check_period = 5m
phpa.shm_ttl = 12h
phpa.shm_max_processes = 512
phpa.shm_lock_threshold0 = 10

apachectl graceful 就能用啦。具体参数看它的文档。

 
  我们在 “LAMP 加速” 这篇文章中阐述过加速的几种办法,其中提到了 PHP Accelerator,它的安装方法十分简单,但是需要去他的网站获取一个激活键。

  一、下载:
  www.php-accelerator.co.uk/download.php

  二、获取激活键并安装:

  www.php-accelerator.co.uk/activate.php 
  注册自己的 SERVER_NAME 后,你会得到下面的提示:
  Your key for www.freelamp.com is 8edfd13946c96309244fcca309415902
  Now you must set the key for www.freelamp.com in your site configuration. 
  For single domains not using virtual hosts
  The key can be set in the php.ini file as follows: 
  # PHPA key for www.freelamp.com
  #
  phpa.registration_key = 8edfd13946c96309244fcca309415902
  For domains setup as a virtual host
  Add the key to the domain specific section for your web server. 
  # www.freelamp.com VHost entry
  #
  < VirtualHost 10.20.30.40>
  ServerName www.freelamp.com
  # ... (other vhost specific config)
  # php settings
  php_value phpa.registration_key 8edfd13946c96309244fcca309415902
  # also enable phpa if set to off in the php.ini (the default is on)
  php_value phpa 1
  < /VirtualHost>

  具体的 phpa 值的设置,可以参考软件随带的 CONFIGURATION 文件的配置。

  由于大多数网站是虚拟主机配置,所以,建议采用 php_value phpa. 的方式设置。

  例如:

  php_value phpa.tweaks off
  php_value phpa.cache_dir /tmp
  php_value phpa.file_perms 400
  php_value phpa.ignore_files "/index.php, /a/test.php"
  # php_value phpa.ignore_dirs "/data/WWW/site1/,/cache/"
  php_value phpa.shm_size 8
  php_value phpa.shm_key 0xc0deb00
  php_value phpa.shm_perms 664

  三、设置 php.ini

  假设我们把下载后的文件解开到 /usr/local/php ,那么在 php.ini 中加入:

  zend_extension=/usr/local/php/php_accelerator_1.2p2.so

  并注释掉原来的 Zend 优化引擎:

  # zend_extension=/usr/local/Zend/lib/ZendOptimizer.so

  重新启动 Apache ,用浏览器浏览一个任意 PHP 页面可以看到 /tmp 下面生成了一些 phpa 开头的文件。另外一个检查缓冲是否起作用的办法是看 phpinfo() 的输出,原来的 Zend 优化引擎的说明部分,已经被显示成:

  This program makes use of the Zend Scripting Language Engine:
  Zend Engine v1.1.1, Copyright (c) 1998-2001 Zend Technologies
  with the PHP Accelerator v1.2p2, Copyright (c) 2001-2002, by Nick Lindridge

  需要说明的是,安装 INSTALL 安装说明上的办法,其中的 .so 文件和真实的 .so 文件有差异,所以,你在安装的时候需要注意到这个区别。

  四、调整缓冲大小

  PHP Accelerator 提供了缓冲管理命令:
  phpa_cache_admin -mv 观察内存的缓冲情况
  phpa_cache_admin -fv 观察文件的缓冲情况
  phpa_cache_admin -k 设置缓冲大小

  五、总结

  该软件提供的 INSTALL 文件阐述了关于性能上的一些说法,笔者不在这里赘述。

  需要说明的是,FreeLAMP.com 的文章目前不是 PHP 架构的,但是论坛系统是 PHP 架构的,所以性能上的提升只会是论坛系统的提升
php date()日期时间函数详解
php 文件上传后缀名与文件类型对照表(几乎涵盖所有文件)
PHP下打开URL地址的几种方法小结
让PHP支持断点续传的源码
php 获取一个月第一天与最后一天的代码
memcached 和 mysql 主从环境下php开发代码详解
php select,radio和checkbox默认选择的实现方法
php access 数据连接与读取保存编辑数据的实现代码
Godaddy空间Zend Optimizer升级方法
php file_exists 检查文件或目录是否存在的函数
php disk_free_space 返回目录可用空间
php is_file 判断给定文件名是否为一个正常的文件
php 获取select下拉列表框的值
PHP foreach循环使用详解与实例代码
在Windows下编译适用于PHP 5.2.12及5.2.13的eAccelerator.dll(附下载)
PHP 开发环境配置(Zend Server安装)
asp.net Repeater控件的说明及详细介绍及使用方法
QueryPath PHP 中的jQuery
phpmyadmin的安装与使用图文教程第1/2页
新安装的MySQL数据库需要注意的安全知识
说明的比较细的php 正则学习实例
php自动跳转中英文页面
PHP一些常用的正则表达式字符的一些转换
php 全文搜索和替换的实现代码
PHP中$_SERVER的详细参数与说明
PHP 得到根目录的 __FILE__ 常量
php array_merge下进行数组合并的代码
php header()函数使用说明
用PHP伪造referer突破网盘禁止外连的代码
PHP insert语法详解
改变Apache端口等配置修改方法
WindowsXP中快速配置Apache+PHP5+Mysql
php adodb连接带密码access数据库实例,测试成功
PHP中的extract的作用分析
php的access操作类
php Undefined index和Undefined variable的解决方法
apache rewrite_module模块使用教程
php a simple smtp class
使用 eAccelerator加速PHP代码的方法
©2014-2024 dbsqp.com