PHP性能優(yōu)化 產(chǎn)生高度優(yōu)化代碼
1.將PHP升級(jí)到最新版
提高性能的最簡(jiǎn)單的方式是不斷升級(jí)、更新PHP版本。
2.使用分析器
網(wǎng)站運(yùn)行緩慢的原因頗多,Web應(yīng)用程序極其復(fù)雜,讓人撲朔迷離。而一種可能性在于PHP代碼本身。這個(gè)分析器可以幫助你快速找出造成瓶頸的代碼,提高網(wǎng)站運(yùn)行的總體性能。
Xdebug PHP extension提供了強(qiáng)大的功能,可以用來(lái)調(diào)試,也可以用來(lái)分析代碼。方便開發(fā)人員直接跟蹤腳本的執(zhí)行,實(shí)時(shí)查看綜合數(shù)據(jù)。還可以將這個(gè)數(shù)據(jù)導(dǎo)入到可視化的工具 KCachegrind中。
3.檢錯(cuò)報(bào)告
PHP支持強(qiáng)大的檢錯(cuò)功能,方便你實(shí)時(shí)檢查錯(cuò)誤,從比較重要的錯(cuò)誤到相對(duì)小的運(yùn)行提示??偣仓С?3種獨(dú)立的報(bào)告級(jí)別,你可以根據(jù)這些級(jí)別靈活匹配,生成用戶自定義的檢測(cè)報(bào)告。
4. 利用PHP的擴(kuò)展
一直以來(lái),大家都在抱怨PHP內(nèi)容太過(guò)繁雜,最近幾年來(lái)開發(fā)人員作出了相應(yīng)的努力,移除了項(xiàng)目中的一些冗余特征。即便如此,可用庫(kù)以及其它擴(kuò)展的數(shù)量還是很可觀。甚至一些開發(fā)人員開始考慮實(shí)施自己的擴(kuò)展方案。
5.使用PHP加速器
一般情況下,PHP腳本被PHP引擎編譯后執(zhí)行,會(huì)被轉(zhuǎn)換成機(jī)器語(yǔ)言,也稱為操作碼。如果PHP腳本經(jīng)過(guò)反復(fù)編譯而得到相同的結(jié)果,那為什么不完全跳過(guò)編譯過(guò)程呢?
通過(guò)PHP加速器,你完全可以實(shí)現(xiàn)這一點(diǎn),它緩存了PHP腳本編譯后的機(jī)器碼,允許代碼根據(jù)要求立即執(zhí)行,而不經(jīng)過(guò)繁瑣的編譯過(guò)程。
對(duì)PHP開發(fā)人員而言,目前提供了兩種可用的緩存方案,一種是APC(Alternative PHP Cache,可選PHP緩存),它是一個(gè)可以通過(guò)PEAR安裝的開源加速器。另一種流行的方案是Zend Server,它不僅提供了操作碼緩存技術(shù),也提供了相應(yīng)頁(yè)面的緩存工具。
6.通過(guò)內(nèi)存緩存來(lái)避免高成本操作
PHP通常在檢索和數(shù)據(jù)分析方面扮演著重要角色,這些操作可能會(huì)導(dǎo)致性能降低。實(shí)際上有些操作是完全沒(méi)有必要的,特別是從數(shù)據(jù)庫(kù)中反復(fù)檢索一些常用的靜態(tài)數(shù)據(jù)。不妨考慮一下短期使用 Memcached extension來(lái)緩存數(shù)據(jù)。Memcached的擴(kuò)展緩存與libMemcached庫(kù)協(xié)同工作,在RAM中緩存數(shù)據(jù),也允許用戶定義緩存的期限,有助于確保用戶信息的實(shí)時(shí)更新。
英文原文:http://www.phpbuilder.com/columns/php-performance-tips/Jason_Gilmore07122011.php3?page=1
相關(guān)文章
PHP IDE PHPStorm配置支持友好Laravel代碼提示方法
這篇文章主要介紹了PHP IDE PHPStorm配置支持友好Laravel代碼提示方法,重點(diǎn)配置已經(jīng)加紅提示,需要的朋友可以參考下2015-05-05PHP創(chuàng)建文件,并向文件中寫入數(shù)據(jù),覆蓋,追加的實(shí)現(xiàn)代碼
這篇文章主要介紹了PHP創(chuàng)建文件,并向文件中寫入數(shù)據(jù),覆蓋,追加的實(shí)現(xiàn)代碼,需要的朋友可以參考下2016-03-03PHP連接操作access數(shù)據(jù)庫(kù)實(shí)例
這篇文章主要介紹了PHP連接操作access數(shù)據(jù)庫(kù)實(shí)例,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-03-03一個(gè)PHP緩存類代碼(附詳細(xì)說(shuō)明)
一個(gè)PHP緩存類代碼,后面都有詳細(xì)的說(shuō)明,學(xué)習(xí)php的朋友可以參考下。2011-06-06PHP程序守護(hù)進(jìn)程化實(shí)現(xiàn)方法詳解
這篇文章主要介紹了PHP程序守護(hù)進(jìn)程化實(shí)現(xiàn)方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07PHP7 preg_replace 出錯(cuò)及解決辦法
在本篇文章里小編給大家整理的是一篇關(guān)于PHP7 preg_replace 出錯(cuò)及解決辦法,有需要的朋友們可以跟著學(xué)習(xí)下。2021-12-12php通過(guò)curl方式實(shí)現(xiàn)發(fā)送接收xml數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了php如何通過(guò)curl方式實(shí)現(xiàn)發(fā)送接收xml數(shù)據(jù),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-11-11