天天看點

調優Web站點性能完全攻略

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

調優Web站點性能完全攻略

對一個電子商務網站來說,需要運用最少的帶寬和伺服器資源,為更多的客戶提供更快捷的服務。而使用者對Web站點的滿意度,主要以通路速度來衡量。 

從使用者角度來說,Web站點隻有“快”和“慢”之分;使用者往往并不要求實作大容量資料傳輸,而是希望網站在保證性能的同時,能夠容納更多的通路者。Web使用者所關心的問題的實質是通路時間。從網絡維護角度說,導緻時延的潛在因素是多方面的,大緻來講,可以從5個方面改進Web站點的性能:緩沖、壓縮、CPU優化、運用内容分發網絡(CDN)及用戶端軟體。 

當一個站點通路使用者過多時,伺服器會超載,站點速度也會随之降低。若增加伺服器并運用負載均衡或群集方案,可增加網站通路量,站點的性能也能達到可以接受的水準。但往往出現的情況是,終端使用者能夠擷取較快的通路速度,而預期的通路容量達不到,是以應首先考慮改進網站性能。通過限制對伺服器的通路量、避免伺服器出現全面緩沖,或者采用純CDN模式,可以提高頁面送出速度,站點能容納更多的使用者。 

優化伺服器配置 

運用更快速的磁盤和更好的網絡存取機制,能明顯改進網站通路速度。可以運用特定網卡(如Akamba公司的Velobahn)來改進伺服器的速度,或是采用相關技術優化網絡接口卡的性能。這類方案的核心是設法減輕Web伺服器CPU的負荷,使其從繁瑣的網絡協定進行中“解脫”出來,而集中于頁面處理和服務提供。 

要盡可能地提升伺服器性能,運用成熟的Web伺服器加速軟體必不可少,在未來幾年中,成本低廉、具備高度優化、嵌入式作業系統的Web伺服器工具将會出現。 

運用緩沖機制 

優化網絡可升縮性和性能的另一方法是在伺服器外圍增加緩沖機制。比較流行的方案是為Web伺服器增加反向緩沖代理,使伺服器能夠順利實作已建立頁面的傳輸,同時在建立動态頁面過程中減輕伺服器負荷。 

緩沖機制比較容易實作,可以自行建構代理程式,也可采用其它基于硬體的産品,如Cobalt Networks的産品CacheRaQ、CacheFlow公司的高端緩沖工具CacheOS。不過購買時須注意,很多硬體緩沖産品實際上是在Linux伺服器中運作相關軟體來實作緩沖功能的。由于緩沖機制通常不能很好地處理動态生成内容,現在運用已呈下降趨勢。對于實時動态頁面,若運用緩沖,顯示速度會明顯減慢。 

以使用者為中心 

通信傳輸是網絡要解決的最重要課題,任何網絡廠商都得面對通信和路由方面的難題,要使一個網站能夠“貼近”使用者,就得在通信傳輸方案方面下功夫。 

可以在通路區間設定多伺服器,并運用全局負載均衡裝置,如Radware公司的Web伺服器導向器優化路由,使使用者能夠通路到就近站點;也可以運用CDN,如Akamai或SolidSpeed方案,通過将大量動态頁面對象,如圖像和PDF檔案置于靠近使用者的緩沖器中,使使用者實作對網站内容的就近通路。 

若充分運用邊緣網絡系統(如CDN),Web頁面内容會很快到達使用者端,面對通信方面的問題也會少得多。不過CDN服務實作成本往往很高,而且操作中須将加速頁面重寫入相關的緩沖目标,造成一定時延。最近釋出的邊緣包含(ESI)規範,能夠很好地解決在運用CDN時産生的動态頁面内容的處理問題。一旦網絡成本下降,這類方案将使邊緣網傳輸成為主流。 

減小資料量 

對傳輸資料進行壓縮,能提高通路速度。一般來說,大量的Web頁面傳輸内容都由圖像檔案和其它二進制格式檔案組成;現在的Web開發人員正設法減少GIF檔案對顔色的使用,并調整JPEG格式檔案大小。 

雖然更高一級的圖檔檔案壓縮規範JPEG2000出台尚需時日,但浏覽器功能的不斷改進使網絡中圖形圖像的快速顯示成為可能。對于需要傳送大容量圖形檔案的使用者來說,可以不拘泥于标準Web格式而選擇更進階的圖像格式,如LizardTech公司針對商業用途釋出的MrSid和DjVU标準。 

随着HTML文檔日趨複雜和javascript的大量運用,通過減少HTML或javascript文檔中的空白來壓縮頁面,能大大減小檔案尺寸。基于這種方法,支援HTTP1.1的浏覽器能夠同時支援GZIP檔案編碼,在傳輸前對檔案進行壓縮。一些Web伺服器如Microsoft IIS5.0支援這種方案。 

一般了解認為,資料量小即意味着網站傳輸速度快,然而具體到某個傳輸對象,必須考慮壓縮/解壓的時間因素,高度壓縮檔案用到帶寬可能較少,但卻不一定能快速送出到終端使用者。 

不可忽視用戶端因素 

沒有協調一緻的用戶端操作相配合,壓縮、分發、緩沖及其它一些方案終究不能發揮作用。Web使用者通路的模式一般是“點選-等待-空閑-點選”,這事實上可以利用閑置時間來下載下傳内容。如果在用戶端安裝這類軟體,能大大提高網站性能。 

最後,客戶終端系統配置是關鍵,站點管理者幾乎對用戶端設定不能施加任何影響。頁面不能快速送出,或許原因完全在用戶端:終端系統配置脆弱,應用程式運作過多,磁盤存取速度太慢,或是浏覽器速度低下。例如,人們在讨論站點速度時,往往忽略了浏覽器這一重要因素;提起浏覽器,人們自然會想起IE或Netscape,而事實上Opera Software公司的5.0版浏覽器速度要快得多。