程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 偷窺PHP編譯Cache

偷窺PHP編譯Cache

編輯:關於PHP編程

負載品頸 一般主要在以下四個方面:
1  數據庫

2 服務器CPU

3 硬盤 I/O

4 網絡帶寬

除了這四個鬼東西。還有什麼值得我們優化的呢。PHP真很強。今天就說下在PHP的 腳本級上來調整PHP的性能。
如果你想在單台服務器 上提高PHP的性能。我們可以使用“編譯緩存”。 編譯cache 不單能提高性能而且會隨著PHP程序的容量和代碼復雜性的增加 服務器的性能也增加。什麼是編譯cache呢。等下告訴你。我們先說下PHP編譯腳本文件所要做的兩步吧:

1 php引擎讀腳本文件,解釋腳本然後在ZEND引擎裡生成可執行的中間代碼

2  ZEND 第二次開始 執行中間代碼

我 們要注意。第一步是在每次PHP腳本文件被請求的時候都要重復一次的東西。 而且這個過程,會因為腳本裡面又包括 include()require() eval()  而遞歸 重復執行第一步。可想而知消耗有多大了。特別PHP文件很大的時候。所以為什麼建議寫PHP文件時候不贊成行數過多。
說到這裡大家就明白了。其實我們可以在 第一步那裡做點文章。如果我們把第一步解釋文件那裡把解釋後的代碼緩存到共享內存裡面。如果有第二個請求這個腳本的時候就可以跳過第一步而直接進入第二步。因為第一步已經cache在內存裡面了。
我們看圖比較一下

先看下如果沒使用 編譯cache 的情況

再來個使用了編譯cache 的情況

行了看看就明白了。是吧。有了 編譯cache 少走了很多彎路。 特別是在你的代碼裡有大量的  include 呀 require 呀的時候特別有效。

現在介紹三個編譯cache:
1 The ionCube Accelerator  不開源的說。
2 TheZendAccelerator 要錢的羅。我窮呀
3  APC  這個我最喜歡因為不要錢。效果還挺好哦
我們就說APC
安裝 大概是這樣的。通過pear來安裝
#pear install apc
修改下php.ini 加上擴展
extension = /path/to/apc.so

OK就這麼簡單。但你再次運行PHP的時候。  這個APC就已經有作用了。編譯代碼就cache 在了share 內存中了。那個爽呀。比女人干女人還爽

如果是window 的 找下這個裡面有 這個擴展http://pecl4win.php.net/list.php

APC 安裝完了後我們還需要調整下APC 的各方面的參數。 這個當然按照你自己項目環境來調整了。

APC 有幾個參數。自己百度去。

完了。

還沒完呢。 請關注我的blog  www.laoniphp.com

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved