php程式提速原理分析

來源:互聯網
上載者:User

緩衝層層級的最佳化

xCache是把 PHP 作業碼緩衝到記憶體中的 PHP 擴充中,XCache 將避免代價高昂且不必要的花費來重新編譯相同的 PHP 代碼去交付一個頁面,這一點上和Accelerator有點相似,我一直認為他們的機理是一樣的,不過xCahce是開源產品[opensource].

Zend Accelerator 站在解析和執行的中間,當頁面第一次被請求時,Zend 引擎解析了它,而Accelerator 把解析的映象放入記憶體,然後執行並把資訊發送給瀏覽器。 好像也叫Zend Cache。

Memcache 精靈 (memcached) 是一種高效能分布式對象緩衝。memcached 的安裝位置介於應用程式與資料存放區之間,它將把對象儲存在 RAM 中。每次快取命中將替換到資料庫伺服器的一次往返,使應用程式運行得更快。非常適合訪問量大的網站使用。

APC 它對php opcode進行緩衝,而不是迫使php在每一次執行的時候都重新解釋每一個指令碼.

PHP執行代碼會經過如下4個步驟(確切的來說,應該是PHP的語言引擎Zend)

1. Scanning(Lexing) ,將PHP代碼轉換為語言片段(Tokens)

2. Parsing, 將Tokens轉換成簡單而有意義的運算式

3. Compilation, 將運算式編譯成Opocdes

4. Execution, 順次執行Opcodes,每次一條,從而實現PHP指令碼的功能。

題外話:現在有的Cache比如APC,可以使得PHP緩衝住Opcodes,這樣,每次有請求來臨的時候,就不需要重複執行前面3步,從而能大幅的提高PHP的執行速度。

最佳化代碼層級

Zend Optimizer就要對PHP 源碼作相應的調整,比如去掉一些PHP注釋,使得代碼更容易編譯。

編程時層級的最佳化

XDebug 是類似於軟體 x 光照片的內容:它將深入應用程式,揭露內部工作原理,並且揭示代碼如何度過其周期。擁有了 XDebug 度量之後 —— 而不是之前 —— 您可以最佳化代碼來調整演算法、減少瓶頸並減輕過多的記憶體使用量。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.