zoukankan      html  css  js  c++  java
  • 构建 XCache 的基本步骤

    构建 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。 

  • 相关阅读:
    完全背包
    01背包
    游戏编程:为什么C++游戏开发比Java更好,其实是因为这两个点!
    VS code搭建 C 和 C++ 环境的完整图文教程!赶紧收藏,这波不亏!
    来自清华计算机系的招聘信息,第一个要求就劝退99%的人!网友:但福利待遇真好!
    C++ 必看书籍清单!从C++ Primer 到 源码剖析,精通真的很难!
    C语言简单编程速成!保姆级入门教程, 目标达成!
    9 名程序员被抓!这次是真的活该.....
    你知道各类开发语言的薪酬差距吗?高薪在于适合,而不在于广度!
    apache common包 CollectionUtils 使用 详解
  • 原文地址:https://www.cnblogs.com/wayne173/p/3747486.html
Copyright © 2011-2022 走看看