PHP網(wǎng)站性能分析
添加時(shí)間:2014-12-26 3:15:38
添加:
思海網(wǎng)絡(luò)
網(wǎng)站打開(kāi)速度慢,原因是多方面的,除去網(wǎng)絡(luò)本身的原因不說(shuō),服務(wù)器及程序本身的原因也是影響網(wǎng)站打開(kāi)慢的重要原因。下面結(jié)合自己的一些經(jīng)驗(yàn),談?wù)凱HP+MySQL網(wǎng)站的哪些因素會(huì)影響網(wǎng)站打開(kāi)慢。
1、數(shù)據(jù)庫(kù)表結(jié)構(gòu)不合理
在創(chuàng)建MySQL數(shù)據(jù)庫(kù)表時(shí),把經(jīng)常作為查詢條件的字段設(shè)置為索引,這樣可以提高數(shù)據(jù)的查詢速度,從而提高網(wǎng)站的打開(kāi)速度。
2、數(shù)據(jù)庫(kù)查詢語(yǔ)句不合理
對(duì) 于PHP+MySQL動(dòng)態(tài)網(wǎng)站,經(jīng)常使用數(shù)據(jù)庫(kù)select操作。在使用select操作時(shí),切忌不要輕易使用select * from tablename,因?yàn)檫@樣的查詢速度慢,并會(huì)占用較多內(nèi)存,影響PHP程序的整體運(yùn)行速度,進(jìn)而影響網(wǎng)站的打開(kāi)速度。建議使用針對(duì)特定字段 select查詢語(yǔ)句,例如 select fieldname from tablename。這樣的查詢方式會(huì)降低MySQL執(zhí)行時(shí)間,提高效率。
3、PHP程序冗余
搭建PHP+MySQL網(wǎng)站時(shí),會(huì)發(fā)現(xiàn)有些程序中存在大量冗余,延長(zhǎng)了程序執(zhí)行時(shí)間。例如重復(fù)的SQL查詢操作,反復(fù)的變量賦值等。出現(xiàn)這樣的情況時(shí),最好找專業(yè)人士幫你優(yōu)化一下程序,提高程序整體運(yùn)行時(shí)間。
4、PHP程序大量讀寫(xiě)磁盤(pán)
有 些PHP+MySQL網(wǎng)站程序會(huì)大量執(zhí)行磁盤(pán)的讀寫(xiě)操作,尤其是磁盤(pán)的寫(xiě)操作,將占用大量的磁盤(pán)IO,導(dǎo)致程序運(yùn)行緩慢。情況嚴(yán)重的還會(huì)使服務(wù)器死機(jī)。當(dāng) 遇到這樣情況時(shí),應(yīng)盡量減少不必要的磁盤(pán)寫(xiě)操作,并且對(duì)磁盤(pán)進(jìn)行相關(guān)優(yōu)化操作,例如磁盤(pán)整理,從而提高磁盤(pán)整體運(yùn)行效率。
5、盡量使用靜態(tài)頁(yè)面
在使用PHP+MySQL搭建網(wǎng)站時(shí),盡量使用可以生成靜態(tài)頁(yè)面的開(kāi)源程序,例如DEDECMS。打開(kāi)靜態(tài)頁(yè)面的時(shí)間遠(yuǎn)小于打開(kāi)動(dòng)態(tài)頁(yè)面的時(shí)間,因?yàn)殪o態(tài)頁(yè)面中不存在上面提到的4點(diǎn)原因。但是它會(huì)使你消耗比較多的磁盤(pán)空間,因?yàn)樯傻撵o態(tài)頁(yè)面將占用大量磁盤(pán)空間。
6、網(wǎng)頁(yè)上存在大量圖片或flash
如果網(wǎng)頁(yè)上存在大量圖片或flash時(shí),也會(huì)影響網(wǎng)站的打開(kāi)速度。減少網(wǎng)頁(yè)上的圖片或flash,或者優(yōu)化減小圖片的大小,以提高網(wǎng)頁(yè)的打開(kāi)速度。
7、服務(wù)器軟件
之前遇到一個(gè)朋友在VPS上了裝了好幾個(gè)防火墻,VPS服務(wù)器是安全了,但是網(wǎng)頁(yè)的打開(kāi)速度很慢。盡量避免在VPS或者獨(dú)立服務(wù)器上安裝不必要的軟件,防止服務(wù)器運(yùn)行速度慢,導(dǎo)致網(wǎng)站打開(kāi)速度慢。
8、網(wǎng)頁(yè)上存在大量JS代碼
大量的JS代碼也是引起網(wǎng)站打開(kāi)速度慢的一個(gè)重要原因,尤其是一些不知名的聯(lián)盟廣告代碼,對(duì)網(wǎng)站打開(kāi)速度的影響非常明顯。
9、過(guò)多的引用了其他網(wǎng)站內(nèi)容
包括你引用其他網(wǎng)站的圖片、視頻文件等,如果直接在頁(yè)面引用別的網(wǎng)站的東西,而那個(gè)網(wǎng)站的速度又慢,或者那個(gè)網(wǎng)站的該頁(yè)面已經(jīng)不存在了,那么你打開(kāi)的速度就會(huì)非常慢。
1、數(shù)據(jù)庫(kù)表結(jié)構(gòu)不合理
在創(chuàng)建MySQL數(shù)據(jù)庫(kù)表時(shí),把經(jīng)常作為查詢條件的字段設(shè)置為索引,這樣可以提高數(shù)據(jù)的查詢速度,從而提高網(wǎng)站的打開(kāi)速度。
2、數(shù)據(jù)庫(kù)查詢語(yǔ)句不合理
對(duì) 于PHP+MySQL動(dòng)態(tài)網(wǎng)站,經(jīng)常使用數(shù)據(jù)庫(kù)select操作。在使用select操作時(shí),切忌不要輕易使用select * from tablename,因?yàn)檫@樣的查詢速度慢,并會(huì)占用較多內(nèi)存,影響PHP程序的整體運(yùn)行速度,進(jìn)而影響網(wǎng)站的打開(kāi)速度。建議使用針對(duì)特定字段 select查詢語(yǔ)句,例如 select fieldname from tablename。這樣的查詢方式會(huì)降低MySQL執(zhí)行時(shí)間,提高效率。
3、PHP程序冗余
搭建PHP+MySQL網(wǎng)站時(shí),會(huì)發(fā)現(xiàn)有些程序中存在大量冗余,延長(zhǎng)了程序執(zhí)行時(shí)間。例如重復(fù)的SQL查詢操作,反復(fù)的變量賦值等。出現(xiàn)這樣的情況時(shí),最好找專業(yè)人士幫你優(yōu)化一下程序,提高程序整體運(yùn)行時(shí)間。
4、PHP程序大量讀寫(xiě)磁盤(pán)
有 些PHP+MySQL網(wǎng)站程序會(huì)大量執(zhí)行磁盤(pán)的讀寫(xiě)操作,尤其是磁盤(pán)的寫(xiě)操作,將占用大量的磁盤(pán)IO,導(dǎo)致程序運(yùn)行緩慢。情況嚴(yán)重的還會(huì)使服務(wù)器死機(jī)。當(dāng) 遇到這樣情況時(shí),應(yīng)盡量減少不必要的磁盤(pán)寫(xiě)操作,并且對(duì)磁盤(pán)進(jìn)行相關(guān)優(yōu)化操作,例如磁盤(pán)整理,從而提高磁盤(pán)整體運(yùn)行效率。
5、盡量使用靜態(tài)頁(yè)面
在使用PHP+MySQL搭建網(wǎng)站時(shí),盡量使用可以生成靜態(tài)頁(yè)面的開(kāi)源程序,例如DEDECMS。打開(kāi)靜態(tài)頁(yè)面的時(shí)間遠(yuǎn)小于打開(kāi)動(dòng)態(tài)頁(yè)面的時(shí)間,因?yàn)殪o態(tài)頁(yè)面中不存在上面提到的4點(diǎn)原因。但是它會(huì)使你消耗比較多的磁盤(pán)空間,因?yàn)樯傻撵o態(tài)頁(yè)面將占用大量磁盤(pán)空間。
6、網(wǎng)頁(yè)上存在大量圖片或flash
如果網(wǎng)頁(yè)上存在大量圖片或flash時(shí),也會(huì)影響網(wǎng)站的打開(kāi)速度。減少網(wǎng)頁(yè)上的圖片或flash,或者優(yōu)化減小圖片的大小,以提高網(wǎng)頁(yè)的打開(kāi)速度。
7、服務(wù)器軟件
之前遇到一個(gè)朋友在VPS上了裝了好幾個(gè)防火墻,VPS服務(wù)器是安全了,但是網(wǎng)頁(yè)的打開(kāi)速度很慢。盡量避免在VPS或者獨(dú)立服務(wù)器上安裝不必要的軟件,防止服務(wù)器運(yùn)行速度慢,導(dǎo)致網(wǎng)站打開(kāi)速度慢。
8、網(wǎng)頁(yè)上存在大量JS代碼
大量的JS代碼也是引起網(wǎng)站打開(kāi)速度慢的一個(gè)重要原因,尤其是一些不知名的聯(lián)盟廣告代碼,對(duì)網(wǎng)站打開(kāi)速度的影響非常明顯。
9、過(guò)多的引用了其他網(wǎng)站內(nèi)容
包括你引用其他網(wǎng)站的圖片、視頻文件等,如果直接在頁(yè)面引用別的網(wǎng)站的東西,而那個(gè)網(wǎng)站的速度又慢,或者那個(gè)網(wǎng)站的該頁(yè)面已經(jīng)不存在了,那么你打開(kāi)的速度就會(huì)非常慢。
本文實(shí)際體會(huì)分析了PHP+MySQL網(wǎng)站打開(kāi)速度慢的各個(gè)因素,站長(zhǎng)在實(shí)際建站的過(guò)程中應(yīng)該結(jié)合自己的實(shí)際情況進(jìn)行分析排查,盡可能提高網(wǎng)站打開(kāi)速度。
關(guān)鍵字:PHP、網(wǎng)站、數(shù)據(jù)庫(kù)、MySQL
新文章:
- CentOS7下圖形配置網(wǎng)絡(luò)的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統(tǒng)后丟失windows啟動(dòng)項(xiàng)
- CentOS單網(wǎng)卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗(yàn)證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網(wǎng)打印機(jī)IP講解
- CentOS7使用hostapd實(shí)現(xiàn)無(wú)AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網(wǎng)絡(luò)重啟出錯(cuò)
- 解決Centos7雙系統(tǒng)后丟失windows啟動(dòng)項(xiàng)
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統(tǒng)有什么不同呢
- Centos 6.6默認(rèn)iptable規(guī)則詳解