欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Xcache緩存器加速PHP網(wǎng)站的配置方法

 更新時(shí)間:2017年04月22日 10:09:37   投稿:mdxy-dxy  
從訪問(wèn)速度上來(lái)看,一般要比放于國(guó)內(nèi)的網(wǎng)站慢2-3倍,所以便想辦法對(duì)網(wǎng)站做了一些簡(jiǎn)單的優(yōu)化,比如使用緩存系統(tǒng)來(lái)提升網(wǎng)站頁(yè)面訪問(wèn)速度

推薦地址:http://www.ibm.com/developerworks/cn/opensource/os-php-fastapps1/

  目前用于Web的緩存系統(tǒng)很多,包括squid、varnish、Nginx自帶的proxy_cache、FastCGI中的fastcgi_cache、APC、Xcache等。

  像squid、varnish、Nginx自帶的proxy_cache這類系統(tǒng),屬于重量級(jí)產(chǎn)品,配置維護(hù)比較麻煩,不適合小型網(wǎng)站,而且一般用這類系統(tǒng)緩存靜態(tài)內(nèi)容,比如圖片、css、JavaScript等;像FastCGI中的fastcgi_cache,它主要用于緩存動(dòng)態(tài)內(nèi)容,所以在訪問(wèn)使用fastcgi_cache的網(wǎng)站時(shí)速度極快,但是筆者使用時(shí)發(fā)現(xiàn)其維護(hù)比較麻煩,特別是每次網(wǎng)站有數(shù)據(jù)要更新后,如果不等到緩沖期過(guò)期后得需要手動(dòng)清除緩存才能看到網(wǎng)站更新的內(nèi)容;至于APC個(gè)人感覺(jué)性能就一般了,拿它和Xcache比較時(shí)發(fā)現(xiàn)訪問(wèn)使用Xcache網(wǎng)站的速度明顯高于使用APC網(wǎng)站的速度(筆者沒(méi)有具體測(cè)試),所以最終選擇了使用Xcache。

  我們都知道PHP是一種動(dòng)態(tài)語(yǔ)言,它在執(zhí)行時(shí)是以解釋的方式執(zhí)行,所以PHP代碼每次執(zhí)行時(shí)都會(huì)被解析和轉(zhuǎn)換成操作碼(opcode)。而Xcache是一個(gè)開(kāi)源的操作碼緩存器/優(yōu)化器,它通過(guò)把解析/轉(zhuǎn)換PHP后的操作碼緩存到文件(直到原始代碼被修改)從而避免重復(fù)的解析過(guò)程,提高了代碼的執(zhí)行速度,通常能夠提高頁(yè)面生成速率2-5倍,降低了服務(wù)器負(fù)載,提高了用戶訪問(wèn)網(wǎng)站的速度。

一、安裝Xcache

# wget http://xcache.lighttpd.net/pub/Releases/1.3.0/xcache-1.3.0.tar.gz
# 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-optimizer--with-php-config=/usr/local/php/bin/php-config
# make && make install

注:--enable-xcache表示啟用Xcache支持;--enable-xcache-coverager表示包含用于測(cè)量加速器功效的附加特性;--enable-xcache-optimizer表示啟用操作碼優(yōu)化

  安裝完畢后系統(tǒng)會(huì)提示xcache.so模塊生成路徑,本次生成路徑為/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/,然后把xcache.so移動(dòng)到/usr/local/php/include/php/ext目錄下。

二、配置管理Xcache

1、修改php配置文件

  配置時(shí)我們可以參考xcache的配置模板xcache.ini,此文件位于Xcache安裝程序中

# vi /usr/local/php/lib/php.ini

  然后添加如下內(nèi)容

extension_dir=/usr/local/php/include/php/ext

[xcache-common]
extension = xcache.so
[xcache.admin]
xcache.admin.enable_auth = On
xcache.admin.user = "xcache"
xcache.admin.pass = ""

[xcache]
xcache.shm_scheme ="mmap"
xcache.size=60M
xcache.count =1
xcache.slots =8K
xcache.ttl=0
xcache.gc_interval =0
xcache.var_size=4M
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 =""

2、生成Xcache緩存文件

# touch /tmp/xcache# chmod 777 /tmp/xcache

3、生成Xcache管理員的秘密(MD5密文)

# echo -n "123456" |

md5sume10adc3949ba59abbe56e057f20f883e

  然后將上述生成的MD5密文粘貼到php.ini文件中xcache.admin.pass = ""選項(xiàng),xcache.admin.pass= "e10adc3949ba59abbe56e057f20f883e"

4、拷貝Xcache管理程序到網(wǎng)站根目錄下

# cp -a /tmp/xcache-1.3.0/admin//usr/local/nginx/html/

  然后重新啟動(dòng)PHP,然后訪問(wèn)http://localhost/admin ,用戶名為xcache 密碼為123456;另外,還可以通過(guò)phpinfo來(lái)驗(yàn)證PHP是否支持Xcache

這里要注意的一點(diǎn)就是Xcache只能緩存默認(rèn)的一些對(duì)象,如int, string, array等,不能緩存對(duì)象,否則讀取的時(shí)候就會(huì)報(bào)錯(cuò)。

  如果你非要緩存對(duì)象的話也有辦法就是將對(duì)象序列化,讀取的時(shí)候再反序列化一次。

  下面我寫的一個(gè)Xcache的簡(jiǎn)單類:

程序代碼

<?php
/**
* Xcache moudle
*/
class cacheHelper{
  public $prefix;
  function __construct(){
    if(!function_exists('xcache_get')){
      exit("This application must required XCache module.");
    }
  }
  /**
   * __set
   *
   * @param mixed $name
   * @param mixed $value
   * @access public
   * @return void
   */
  public function __set($name, $value){
    xcache_set($this->prefix.$name, $value);
  }
  /**
   * __get
   *
   * @param mixed $name
   * @access public
   * @return mixed
   */
  public function __get($name){
    return xcache_get($this->prefix.$name);
  }
  /**
   * __isset
   *
   * @param mixed $name
   * @access public
   * @return bool
   */
  public function __isset($name){
    return xcache_isset($this->prefix.$name);
  }
  /**
   * __unset
   *
   * @param mixed $name
   * @access public
   * @return void
   */
  public function __unset($name){
    xcache_unset($this->prefix.$name);
  }
}
?>

相關(guān)文章

  • 有關(guān)js的變量作用域和this指針的討論

    有關(guān)js的變量作用域和this指針的討論

    在ECMAScript中,只有兩種執(zhí)行環(huán)境,全局環(huán)境和函數(shù)環(huán)境,每個(gè)函數(shù)都是一個(gè)執(zhí)行環(huán)境,包括嵌套函數(shù)。換句話說(shuō),其他情況下即使變量聲明在一對(duì)大括號(hào)中,在括號(hào)外部仍然可以訪問(wèn)這些變量
    2010-12-12
  • 使用js實(shí)現(xiàn)復(fù)制功能

    使用js實(shí)現(xiàn)復(fù)制功能

    這篇文章主要為大家詳細(xì)介紹了使用js實(shí)現(xiàn)復(fù)制功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • 微信小程序遍歷Echarts圖表實(shí)現(xiàn)多個(gè)餅圖

    微信小程序遍歷Echarts圖表實(shí)現(xiàn)多個(gè)餅圖

    這篇文章主要介紹了微信小程序遍歷Echarts圖表實(shí)現(xiàn)多個(gè)餅圖,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • options預(yù)檢請(qǐng)求的前后端解決方式詳解

    options預(yù)檢請(qǐng)求的前后端解決方式詳解

    這篇文章主要為大家介紹了options預(yù)檢請(qǐng)求的前后端解決方式詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • JS實(shí)現(xiàn)鼠標(biāo)框選效果完整實(shí)例

    JS實(shí)現(xiàn)鼠標(biāo)框選效果完整實(shí)例

    這篇文章主要介紹了JS實(shí)現(xiàn)鼠標(biāo)框選效果,可實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊出現(xiàn)框選效果的功能,同時(shí)下方實(shí)時(shí)顯示框選大小,涉及javascript鼠標(biāo)事件的響應(yīng)與頁(yè)面元素的動(dòng)態(tài)運(yùn)算技巧,需要的朋友可以參考下
    2016-06-06
  • 微信小程序用戶授權(quán)彈窗 拒絕時(shí)引導(dǎo)用戶重新授權(quán)實(shí)現(xiàn)

    微信小程序用戶授權(quán)彈窗 拒絕時(shí)引導(dǎo)用戶重新授權(quán)實(shí)現(xiàn)

    我們?cè)陂_(kāi)發(fā)小程序時(shí),如果想獲取用戶信息,就需要獲取用的授權(quán),如果用戶誤點(diǎn)了拒絕授權(quán),我們?cè)趺礃尤フ_的引導(dǎo)用戶重新授權(quán)呢。今天就來(lái)給大家講講如果正確的引導(dǎo)用戶授權(quán),需要的朋友可以參考下
    2019-07-07
  • 基于JavaScript實(shí)現(xiàn)控制下拉列表

    基于JavaScript實(shí)現(xiàn)控制下拉列表

    這篇文章主要介紹了基于JavaScript實(shí)現(xiàn)控制下拉列表,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • JavaScript oncopy事件用法實(shí)例解析

    JavaScript oncopy事件用法實(shí)例解析

    這篇文章主要介紹了JavaScript oncopy事件用法實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • BOM系列第二篇之定時(shí)器requestAnimationFrame

    BOM系列第二篇之定時(shí)器requestAnimationFrame

    這篇文章主要介紹了BOM系列第二篇之定時(shí)器requestAnimationFrame 的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-08-08
  • JavaScript預(yù)解析,對(duì)象詳解

    JavaScript預(yù)解析,對(duì)象詳解

    這篇文章主要介紹了JavaScript預(yù)解析,對(duì)象的的相關(guān)資料,小編覺(jué)得這篇文章寫的還不錯(cuò),需要的朋友可以參考下,希望能夠給你帶來(lái)幫助
    2021-11-11

最新評(píng)論