`
wayne173
  • 浏览: 362541 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

构建 XCache 的基本步骤

    博客分类:
  • php
阅读更多
http://www.ibm.com/developerworks/cn/opensource/os-php-fastapps1/
构建 XCache 的基本步骤
在开始之前,首先确保 PHP 正常安装并核实 phpize 是否位于 shell 的 PATH 下。同时,还需要一个 C 编译器,例如 GNU Compiler Collection (GCC),和一组包含 make 和 m4 的开发工具。在 Mac OS X 上,免费的 Xcode 软件开发环境提供了必需的构建工具。
完成以下操作步骤,在 Mac OS X 上构建、部署 XCache 并对其进行性能检测。在其他平台上构建 XCache 与之类似。如果使用 Linux,则其发行版可能已经包含了 XCache 或者已经将其以预先打包好的格式提供给您。
增加 Mac OS X 的共享内存
首先增加 Mac OS X 上留出的共享内存总量。要实现这一目的,需创建(或编辑)文件 /etc/sysctl.conf 并创建如下条目:

清单 1. 增加 Mac OS X 上留出的共享内存总量

kern.sysv.shmmax=33554432
kern.sysv.shmmin=1
kern.sysv.shmmni=32
kern.sysv.shmseg=8
kern.sysv.shmall=8192

这些设置把共享内存总量增加到了 32 MB。如还需进一步扩展共享内存,可以把 kern.sysv.shmall 设定为 kern.sysv.shmmax 除以硬件页面大小。使用 sysctl hw.pagesize 能获得硬件页面大小。例如,假设需要 128 MB 的共享内存,那么设定 kern.sysv.shmmax=134217728 并设定 kern.sysv.shmall=32768。
重启 Mac OS X 使修改生效。重启后,检验新设置是否生效,键入:
sysctl -a | grep kern.sysv

通过源代码构建 XCache
接下来,通过源代码构建 XCache。从 http://xcache.lighttpd.net 处下载源代码。下载完后解压代码,并转换到 .tar 文件创建的新目录。

清单 2. 通过源代码构建 XCache

$ cd /tmp
$ wget http://210.51.190.228/pub/XCache/Releases/xcache-1.2.0.tar.gz
$ tar xzf xcache-1.2.0.tar.gz
$ cd xcache

运行 phpize 为编译 XCache 做准备。

清单 3. 运行 phpize

$ phpize
Configuring for:
PHP Api Version:         20020918
Zend Module Api No:      20020429
Zend Extension Api No:   20050606

运行 configure,创建适合于原生操作系统的 makefile。

清单 4. 运行 configure 创建 makefile

$ ./configure --enable-xcache --enable-xcache-coverager
checking build system type... i686-apple-darwin8.8.1
checking host system type... i686-apple-darwin8.8.1
...
creating libtool
configure: creating ./config.status
config.status: creating config.h

此处,--enable-xcache 选项包含 XCache 支持,--enable-xcache-coverager 选项包含用于测量加速器功效的附加特性。要启用操作码优化,添加 --enable-xcache-optimizer。
当然,下一步将使用 make 命令行构建和安装代码。运行 make,然后作为 root 用户运行 make install 。

清单 5. 利用 make 构建和安装代码

$ make
...
cp ./xcache.so /Users/strike/tmp/xcache/modules/xcache.so
Build complete.

$ sudo make install
Installing shared extensions: /usr/lib/php/extensions/no-debug-non-zts-20020429/

如果上述两项操作顺利完成,那么 XCache 将位于 /usr/lib/php/extensions/no-debug-non-zts-20020429/xcache.so。(路径 /usr/lib/php/extensions/no-debug-non-zts-20020429 反映了正在使用的 API 版本和用于构建 PHP 的编译选项。如果启用了试用的 Zend Thread Safety 特性,则 "no-debug" 应为 "debug","non-zts" 应为 "zts"。)
修改 php.ini 文件
因为安装了扩展,所以必需修改 php.ini 文件,使之包含 XCache 扩展并对其进行配置。打开文件 /private/etc/php.ini,在其中添加如下代码行:

清单 6. 为 XCache 扩展修改 php.ini 文件

[xcache-common]
zend_extension      = /usr/lib/php/extensions/no-debug-non-zts-20020429/xcache.so

[xcache.admin]
; Change xcache.admin.user to your preferred login name
xcache.admin.user   = "admin"

; Change xcache.admin.pass to the MD5 fingerprint of your password
; Use md5 -s "your_secret_password" to find the fingerprint
xcache.admin.pass   = "0ad72f3f352fcd8acdf266bafd0ac48d"

[xcache]
; Change xcache.size to tune the size of the opcode cache
xcache.size         = 24M
xcache.shm_scheme   = "mmap"
xcache.count        = 2
xcache.slots        = 8K
xcache.ttl          = 0
xcache.gc_interval  = 0

; Change xcache.var_size to adjust the size of variable cache
xcache.var_size     = 8M
xcache.var_count    = 1
xcache.var_slots    = 8K
xcache.var_ttl      = 0
xcache.var_maxttl   = 0
xcache.var_gc_interval =     300
xcache.test         = Off
xcache.readonly_protection = On
xcache.mmap_path    = "/tmp/xcache"
xcache.coredump_directory =   ""
xcache.cacher       = On
xcache.stat         = On
xcache.optimizer    = Off

[xcache.coverager]
xcache.coverager    = On
xcache.coveragedump_directory = ""

注意:为了简明起见,此处省略了一些注释。要了解每个参数的含义,请参阅 XCache 源代码中 xcache.ini 文件设置的例子。
操作码和变量缓存的大小是 32 MB,这是 /etc/rc 留出的最大值。对于 Mac OS X,xcache.mmap_path 必须为文件名。因为 PHP 代码将在 MacBook 上运行,所以 xcache.count 应设为 2,表示 MacBook 中 CPU 的数量。要访问 XCache 统计信息页面,需改变 xcache.admin.pass 设置。运行:
$ md5 -s "password"

此处 password 为您的密码。把输出复制给 xcache.admin.pass。例如,若需将密码设定为 op3nsesam3,可以运行:
$ md5 -s "op3nsesam3"
MD5 ("op3nsesam3") = cd959ac3debe8f587546a3fa353b3268

然后把 cd959ac3debe8f587546a3fa353b3268 复制给 xcache.admin.pass。
重启 Web 服务器
设置好 XCache 后,重启 Apache Web 服务器。对于大多数系统,可以以 root 用户的身份使用 apachectl restart 进行重启。
$ sudo apachectl restart
/usr/sbin/apachectl restart: httpd restarted

创建程序以调用 phpinfo()
检验 XCache 是否已启用,需创建一个小型 PHP 程序用于调用 phpinfo() 并在 Web 浏览器中打开那个文件。这样就能看到类似下图的 XCache 版面。

图 1. phpinfo() 方法给出了 XCache 设置


监控 XCache
要监控 XCache,需安装 XCache 源代码的 admin 目录中的管理页面。把整个 admin 目录复制到 Apache 文档根目录下。通常来说,Mac OS X 中的文档根目录为 /Library/WebServer/Documents。
$ cp -pr admin /Library/WebServer/Documents

复制完成后,使用 sudo apachectl restart 重启 Web 服务器。用浏览器打开 http://localhost/admin,检验管理面板是否工作正常。请参阅类似图 2 的面板。

图 2. XCache Administration 面板


测试应用程序
选择一个或两个应用程序进行测试。您可以使用自己的代码或者,如果想要更复杂一点,使用大型的 PHP 应用程序,例如 phpMyAdmin 或者 Serendipity。
分享到:
评论

相关推荐

    xcache-3.0.4.tar.gz

    4. **config.m4** 和 **configure**:用于自动配置和构建 Xcache 模块的脚本。 5. **src** 目录:源代码目录,包含了所有用于编译 Xcache 的 C 语言源文件。 6. **php_xcache.***:预编译的 PHP 模块文件(可能根据...

    XCache-3.0.0-php-5.3.18-Win32-VC9-x86.zip

    这意味着如果你的PHP环境是在Windows上搭建的,且PHP版本是VC9构建的,那么这个版本的XCache将是理想的选择。 在安装和配置XCache时,你需要首先解压"XCache-3.0.0-php-5.3.18-Win32-VC9-x86.zip"到PHP的扩展目录。...

    模块式安装php-5.4.40及xcache 1

    总结一下,这个过程涵盖了以下几个关键步骤: 1. 设置 YUM 源并安装依赖。 2. 下载并编译 PHP 和 xcache 源码包。 3. 使用 `./configure` 设置配置选项。 4. 编译、测试和安装 PHP 及 xcache。 5. 更新 PHP 配置文件...

    xcache-3.1.0

    在安装和配置**xcache-3.1.0**时,需要注意以下步骤: 1. **下载与解压**:从官方网站或者镜像站点获取xcache-3.1.0的压缩包,解压到本地目录。 2. **编译与安装**:使用`phpize`来准备编译环境,然后运行`./...

    XCache-3.2.0-php-5.3.29-Win32-VC9-x64.zip

    VC9指的是微软的Visual Studio 2008,该编译器用于构建XCache的二进制文件。 5. **x64**:这个标签表明这是一个64位版本的软件,适用于64位操作系统。在64位系统上使用32位软件可能会导致性能瓶颈,因此使用与系统...

    ubuntu下编译安装xcache for php5.3 的具体操作步骤

    以下是编译安装xcache for PHP 5.3在Ubuntu下的详细步骤: 首先,你需要确保你的系统已经安装了PHP 5.3.3。如果没有,可以通过apt-get或其它包管理工具进行安装。 1. 下载xcache的源代码包: ``` wget ...

    XCache-1.2.2-php-5.2.5-Win32

    "Release_Ts" 可能是指构建的释放版本的时间戳,或者是一个特定构建版本的标识。 关于XCache的详细知识点包括: 1. **XCache的原理**:XCache作为PHP的 opcode 缓存,它将PHP脚本的编译结果(opcode)存储在内存中...

    基于xcache的配置与使用详解

    3. 进入解压后的目录,并使用PHPize初始化构建环境: ``` # cd xcache-1.3.0 # /usr/local/php/bin/phpize ``` 4. 配置并启用所需功能: ``` # ./configure --enable-xcache --enable-xcache-coverager --...

    init_system_hem.rar_LINUX远程自动_php memcache_xcache

    它支持多种数据库,如MySQL,是构建动态网站的重要工具。 3. **MySQL**:MySQL是一个流行的开源关系型数据库管理系统,以其高效、可靠和易于使用而受到欢迎。它是许多Web应用程序的首选数据库解决方案。 4. **...

    《PHP&MORE》第七期

    - **运用XCache的缓冲API**:提供了使用XCache API的具体示例,包括缓存变量、函数结果等。 - **编写XCache的心得**:分享了作者在使用XCache过程中的经验教训。 #### 三、扩展PHP **扩展PHP** 是指使用C语言为PHP...

    配置eAccelerator和XCache扩展来加速PHP程序的执行

    然后按照以下步骤进行操作: 1. **下载源码**:从官方指定地址(http://sourceforge.net/projects/eaccelerator/)获取最新版本的源码。 2. **解压并修改源码**:根据提示,使用`tar`命令解压,然后用`vi`编辑器...

    Centos5.5下安装LAMP完整版

    确保下载的是适合CentOS 5.5的版本,并将其保存在`/usr/local/src`目录下,这一步对于构建完整的LAMP环境至关重要。 ### 三、Apache的安装与配置 Apache是LAMP中的“A”,它是全球使用最广泛的Web服务器之一。安装...

    php-pecl-5.4.16-Win32-VC9-x86_eaccelerator

    首先,我们要了解eAccelerator的基本功能。eAccelerator是一款开源的PHP加速器、优化器和缓存工具,它通过编译PHP脚本并存储在内存中来减少CPU使用率和磁盘I/O操作,从而显著提高PHP应用的运行速度和响应时间。在...

    eAccelerator0951_5.2.3

    安装 eAccelerator 通常涉及以下步骤: - 下载与 PHP 版本匹配的 eAccelerator 版本,如 `eAccelerator0951_5.2.3`。 - 编译并安装 eAccelerator。在源代码目录中执行 `./configure`,`make` 和 `make install` ...

    ShopNC-B2B2C-商城开发手册

    - **数据缓存**:支持多种缓存机制,包括文件缓存、数据表缓存以及内存缓存技术如Redis、APC、Memcache、eAccelerator和Xcache,用户可根据实际运行环境自行配置。 - **调试模式**:为开发者提供了调试模式,能够...

    WSTMall 开源多用户商城系统 v1.9.5.zip

    WSTMall是一款基于thinkphp开发的多商户新零售开源系统,是一款能够帮助企业及个人快速构建O2O(线上到线下)服务体系的系统 ,全方位助力创业团队的快速成长及商业变现! WSTMall已形成集PC端、WAP端,微信端,安...

    Zend Framework 1.7.6 手册中文版

    - **Zend_Cache_Backend_Xcache:** Xcache作为后端存储。 - **Zend_Cache_Backend_ZendPlatform:** Zend Platform作为后端存储。 #### 5. Zend_Config **5.1 简介** - **配置管理:** 提供了一种方便的方式来...

Global site tag (gtag.js) - Google Analytics