|
代碼優化
在這里并不想再次告訴你
如何寫更干凈的代碼,這一點我想每個人都清楚,在需要速度的時候,你可能已經在php源代碼的優化上面做了不少的工作,這里所提出的是,這個煩瑣的工作可以交由其它工具來完成。這就是Zend Optimizer,此程序可以從Zend Technologies的網站(http://www.zend.com/)免費得到。它的原理很簡單,通過檢測Zend引擎產生的中間代碼,并且優化它來得到更高的執行速度。我認為優化代碼是一項頗煩瑣的工作,而且優化后的代碼可能變得難以理解,尤其是當你放下該php程序一段時間后,突然間客戶要求你做一些修改時,可能你自己也不懂了;-)。因此我建議你在php的源代碼較為復雜的時候,用Zend Optimizer來做這個優化的工作,好處是它不會令你的代碼變得復雜難懂。
安裝Zend Optimizer是非常簡單的。只要根據你使用的平臺,下載相關的預編譯庫,并且在你的php.ini中加入兩行,重新啟動你的web服務器就行了!
zend_optimizer.optimization_level=15zend_extension="/path/to/ZendOptimizer.so" zend_loader.enable=Off
你可能有點奇怪,不是說兩行嗎,怎么變成三行了。不過第三行是可選的,看來禁止這個zend_loader將會令優化的速度更快,因此不妨在你的php.ini文件中多加這一行。要注意的是:只有在你不使用Zend Encoder Runtime的時候,才可以禁止zend_loader,關于Zend Encoder Runtime,還會在下文提到。
要更快嗎?使用cache(緩沖)吧
如果你的php應用還需要更快的速度,下一個辦法是緩沖。要實現這一點,有幾種不同的方式。我自己就試用過Zend Cache(評測版本),APC和Afterburner Cache。
以上提到的都是“緩沖模塊”。它們的原理都差不多,在php文件被首次請求的時候,通過將你的php源代碼的中間代碼存儲在web服務器的內存中,對于以后同樣的請求,都直接提供內存中的“編譯”版本。由于它可以令磁盤的訪問達到最小化,因此這個方法確實可以極大地提高php的性能。更為方便的是,當你的php源代碼修改時,緩沖的模塊可以察覺到這些變化,并且重新載入一樣,因此你不必擔心客戶得到的是舊版本的程序。這些緩沖的模塊確實不錯,但是我應該選用哪一種呢?下面分別介紹一下:
Zend Cache是Zend Technologies的一個商業化的產品(它也是免費為我們提供php引擎和Zend Optimizer的公司)。它確實不錯。在首次運行后,你可以明顯察覺到php的速度得到了很大的提高,服務器的空閑資源也更多了。缺點是你要付費購買它,但就性價比來說,還是非常值得的。
Afterburner Cache是Bware Technologies(bwcache.bware.it)提供的免費緩沖模塊。當前還只是beta版,它所做的工作看來與Zend Cache差不多,不過性能的提高就比不上Zend Cache,而且現有的版本不能和Zend Optimizer一起工作,不過它是免費的。
APC(Alternative php Cache)是由Community Connect(apc.communityconnect.com)提供的另一個免費模塊。它的工作很穩定,速度也有不少的提高,要注意的是,我還沒有找到一個官方的測試數據,這些只是在我的應用上作測試,因此不能下一個結論
php技術:提升PHP執行速度全攻略(上),轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。