負載瓶頸 一般主要在以下四個方面:
1 資料庫
2 伺服器cpu
3 硬碟 i/o
4 網路頻寬
除了這四個。還有什麼值得我們優化的呢。php真很強。今天就說下在php的 腳本級上來調整php的效能。
如果你想在單台伺服器 上提高php的效能。我們可以使用「編譯快取」。 編譯cache 不單能提高效能而且會隨著php程式的容量和**複雜性的增加 伺服器的效能也增加。什麼是編譯cache呢。等下告訴你。我們先說下php編譯指令碼檔案所要做的兩步吧:
1 php引擎讀指令碼檔案,解釋指令碼然後在zend引擎裡生成可執行的中間**
2 zend 第二次開始 執行中間**
我 們要注意。第一步是在每次php指令碼檔案被請求的時候都要重複一次的東西。 而且這個過程,會因為指令碼裡面又包括 include()require() eval() 而遞迴 重複執行第一步。可想而知消耗有多大了。特jhottrg別php檔案很大的時候。所以為什麼建議寫php檔案時候不贊成行數過多。
說到這裡大家就明白了。其實我們可以在 第一步那裡做點文章。如果我們把第一步解釋檔案那裡把解釋後的**快取到共享記憶體裡面。如果有第二個請求這個指令碼的時候就可以跳過第一步而直接進入第二步。因為第一步已經cache在記憶體裡面了。
我們看圖比較一下
先看下如果沒使用 編譯cache 的情況
再來個使用了編譯cache 的情況
行了看看就明白了。是吧。有了 編譯cache 少走了很多彎路。 特別是在你的**裡有大量的 include 呀 require 呀的時候特別有效。
現在介紹三個編譯cache:
1 the ioncube accelerator 不開源的說。
2 thezendaccelerator 要錢的羅。我窮呀
3 apc 這個我最喜歡因為不要錢。效果還挺好哦
我們就說apc
安裝 大概是這樣的。通過pearwww.cppcns.com來安裝
#pear install apc
修改下php.ini 加上擴充套件
extension = /path/to/apc.so
ok就這麼簡單。但你再次執行php的時候。 這個apc就已經有作用了。編譯**就cache 在了share 記憶體中了。那個爽呀。
如果是window 的 找下這個裡面有 這個擴充套件
apc 安裝完了後我們還需要調整下apc 的各方面的引數。 這個程式設計客棧當然按照你自己專案環境來調整了。
本文標題: 調整php的效能
本文位址: /wangluo/php/100923.html
效能調整策略
效能只是軟體整體質量的乙個方面,通常不是最重要的。精細的 調整也只是實現整體效能的一種方法,通常也不是決定性的。相對於 本身的效率而言,程式的架構 細節設計以及資料結構和演算法選擇對程式的執行速度和資源占用的影響通常會更大。定量測量時實現效能最優化的關鍵。定量測量需要找出真正決定程式效能的部分,在修...
ArcGIS Server效能調整
arcgis server效能調整 arcgis server產品的強大功能往往給了有些使用者帶來一定的認識誤區。有些使用者會認為可以把c s程式的使用模式和資料照搬到arcgis server的應用系統中.arcgis server的應用是b s的應用,軟體角度來講涉及到資料庫,web serve...
ESX server效能調整
個人總結 1.刪除已經關閉不用的虛擬機器。2.刪除虛擬機器中不適用的裝置。虛擬機器配置中和虛擬機器系統裡面。3.優化虛擬出的作業系統。4.確保安裝了新版本的vmtools。5.避免過量分配記憶體。為主機配置足量的記憶體。下面列出了一些可以在虛擬機器裡停用或禁用的通用windows服務,請根據虛擬機器...