PHP應(yīng)用程序加速探索之簡介_PHP教程
推薦:用PHP寫的MD5加密函數(shù)以下為引用的內(nèi)容: //PHP_md5("字符串") define("BITS_TO_A_BYTE",8); define("BYTES_TO_A_WORD",4);
(一)簡介
本文嘗試對PHP程序加速的各個(gè)方面進(jìn)行探索,包括必要性以及從不同角度采取的具體措施。希望有助于讀者了解PHP程序加速,并應(yīng)用于實(shí)際。
(二)是否需要加速?
這個(gè)問題聽起來有點(diǎn)愚蠢。在這個(gè)時(shí)代,很少有人會懷疑時(shí)間是最寶貴的財(cái)富,尤其是在商業(yè)市場上。程序執(zhí)行越快,用戶就節(jié)約越多的時(shí)間,這樣你的程序就可以用更少的時(shí)間和服務(wù)器資源為用戶服務(wù),從而產(chǎn)生更多效益。
我想對于大部份人(包括我自己)來說,很多WEB項(xiàng)目都是在很緊張的時(shí)間里完成的,通常沒有經(jīng)過縝密的思考和嚴(yán)格的測試。當(dāng)開始一個(gè)新的WEB項(xiàng)目。很多人都在構(gòu)建那種“快而亂”的應(yīng)用,缺乏必要的時(shí)間來調(diào)整和改良代碼,這時(shí)優(yōu)化和加速就是我們必須采取的措施。
然而需要特別指出的是,并不是所有程序都需要加速。
優(yōu)化已完成的代碼是很浪費(fèi)時(shí)間的,最好的方法是在寫代碼的時(shí)候就注意到效率,然后完成項(xiàng)目后只優(yōu)化確實(shí)需要優(yōu)化的那部份。一般一個(gè)程序只會有少數(shù)幾個(gè)影響速度的瓶頸,將它們找出來并解決掉,程序就可以很好地運(yùn)行。另外,當(dāng)遇到執(zhí)行效率低下的情況,首先要用大局的眼光來找出影響效率的主要因素,而不要拘泥于細(xì)節(jié)—例如數(shù)據(jù)量過大,服務(wù)器帶寬不夠,或硬件配置過低,在這樣的情況下,優(yōu)化代碼于事無補(bǔ)。
另外,在沒有發(fā)現(xiàn)程序有明顯的執(zhí)行緩慢的跡象時(shí),就不要太吹毛求疵,為了改進(jìn)一些非常細(xì)節(jié)的代碼而浪費(fèi)時(shí)間。用這些時(shí)間,你可以完成另一個(gè)項(xiàng)目或?yàn)樵瓉淼捻?xiàng)目完成一個(gè)擴(kuò)展功能。當(dāng)然你可以笑話我不夠負(fù)責(zé),沒有把工作做得盡善盡好,我也可以說你是完美主義者。
綜上,在你決定為你的PHP程序提速之前,問問自己是否有必要。
(三)如何加速?
要回答“如何加速”這個(gè)問題前,需要先回答以下兩個(gè)小問題:
1. 你的程序慢在哪一部份?
2. PHP可以從哪幾個(gè)方面考慮加速?
第一個(gè)小問題顯然我無法給你答案,但我建議你用“測試腳本執(zhí)行速度”的方法來解決。只有找出限制速度的瓶頸,才能考慮如何去解決。
第二個(gè)小問題我大概的答案是:代碼優(yōu)化,壓縮輸出,內(nèi)容緩存輸出,函數(shù)緩存輸出,加速/緩存工具軟件。如果你知道更多請告訴我。
分享:最令PHP初學(xué)者頭痛的十四個(gè)問題【1】頁面之間無法傳遞變量 get,post,session在最新的php版本中自動(dòng)全局變量是關(guān)閉的,所以要從上一頁面取得提交過來得變量要使用$_GET[’foo’],$_POST[’foo’],$_sessio
- PHPNOW安裝Memcached擴(kuò)展方法詳解
- php記錄頁面代碼執(zhí)行時(shí)間
- PHP中獎(jiǎng)概率的抽獎(jiǎng)算法程序代碼
- apache設(shè)置靜態(tài)文件緩存方法介紹
- php對圖像的各種處理函數(shù)代碼小結(jié)
- PHP 關(guān)于訪問控制的和運(yùn)算符優(yōu)先級介紹
- 關(guān)于PHP語言構(gòu)造器介紹
- php/js獲取客戶端mac地址的實(shí)現(xiàn)代碼
- php5.5新數(shù)組函數(shù)array_column使用
- PHP preg_match的匹配多國語言的技巧
- php 中序列化和json使用介紹
- php采集文章中的圖片獲取替換到本地
- 相關(guān)鏈接:
- 教程說明:
PHP教程-PHP應(yīng)用程序加速探索之簡介
。