構建 XCache 的基本步驟

2021-08-25 15:19:15 字數 4810 閱讀 1656

構建 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 的共享記憶體

清單 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

清單 2. 通過源**構建 xcache

$ cd /tmp

$ wget

$ 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

...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 進行重啟。

建立程式以呼叫 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。

uml 構建系統的基本步驟

一 需求分析 系統總體功能分析 包括 每一項均有 input execute output 1 學生選課 input execute output 2 學生上課 3 教師上課 4 管理員維護系統 二 系統用例模型 use case view 建立用例檢視分為以下步驟 1 確定角色 學生 studen...

專案原型構建步驟

搭建專案原型的步驟 技術選型 決定要使用何種語言,考慮到效率是否需要使用多種語言 cgi.使用何種orm框架,mvc框架,檢視技術,快取技術,測試技術和專案構建工具,管理工具,伺服器以及資料庫 架構分層 根據模組或功能對專案劃分檔案包 字元編碼 編碼utf 8,資料庫編碼,頁面編碼,檔案編碼 命名規...

xcache的使用與配置

一 安裝xcache wget tar zxvf xcache 1.3.0.tar.gz cd xcache 1.3.0 usr local php bin phpize configure enable xcache enable xcache coverager enable xcache op...