網站高性能的核心優勢該如何打造
以下是博客內容:
很多數據表明,網頁打開和下載的速度越慢,用戶越不愿使用。
從Google搜索中可看出,當頁面顯示10個答案需要用時0.4秒,而頁面出現30個結果需要用時0.9秒,僅僅半秒鐘導致下降20%的傳輸,半秒鐘的延遲同時降低了用戶的滿意度。
我相信反過來也是如此,即網站速度越快,就會有更多的人愿意使用它。這是一個邏輯:頁面速度載入的越快,用戶就能越快可以辨別這個頁面是否包含了想要的東西。因此,他們總是愿意瀏覽快速的網站。不管這些內容是否是用戶要尋找的,當然也有類似的經驗,可提供多個網站。那么如何辨別呢?首先,它得存在,速度要快。
你是否覺得這有必要如此對速度的需求?如果是這樣,我有三點建議與大家分享。
按照雅虎的指導方針
為建立快速的網站黃金參考標準,雅虎2007年為網站提高速度的13個簡易規則。
這里有一些好的建議,如果運行某一個網站,每天可擁有數百萬的用戶。
因為我四年前寫的這個,發生了一些有趣的事。我現在經營一家公共網站,技術問答社區,日常訪問量可達到數百萬用戶。當然它也取決于網站規模的大小。 如果你想經營一家公共網站,你真的應該熟讀雅虎的清單,用心領會每一行或者借助于工具,它們都會幫助你改變網站的性能:
一直以來,我們對雅虎的列表實施超過13項,除了一個:Using a Content Delivery Network。作為最后一步的優化,我們剛剛推出了為所有靜態內容的CDN,結果是令人興奮的,我們的數據中心在NYC, 因此,可以說成“在世界上的某個區域我們的網站為用戶提供的有多快速?”。
從技術的準確度利益上講,靜態內容不支持圖片特性,用戶必須通過我們的NFC服務來獲得動態內容,但是90%的訪問者都是匿名的,只有36%的流量來自于美國。雅虎的研究表明,40%---60%的日常訪問者用一個空的瀏覽器來緩存,而能夠優化這個全球冷門緩存性能是個巨大的勝利。

由于關于雅虎的性能調整,而且都是免費的小工具,導致我們不會繼續推薦CDN,與其他公司相比類似亞馬遜、NetDNA和CacheFly等,自從2007年以來使用CDN也受益很多。因此。在時機成熟時,把雅虎列表當做一種信仰來工作吧。
重視(優化)匿名和注冊用戶
目前我們的主要信息來源于匿名用戶,通過他們的搜索引擎以及其他方式獲知。
這是典型的“write once, read – and hopefully edit – millions of times.”,同時我們也因社區活躍用戶使網站內容更加豐富多彩。我們一直在改進新的性能,這也就意味著我們將提供JavaScript 和HTML甚至更多服務。通過下載量上就可以在用戶之間辨別出哪些用戶每天在網上,哪些用戶是一個月或者是一年才瀏覽網站。
兩種類別都很重要,針對不同的需求。匿名用戶偏愛優化瀏覽器速度。而社區用戶則更關心內容資源。兩種類別互相依賴,并需要不同的對待。我們設計和優化兩個用戶類:匿名用戶和注冊用戶。下面是我隨機挑選的谷歌Chrome瀏覽器用戶使用情況:

我們盡量減少匿名用戶使用HTML, CSS and Javascript這樣網頁速度更快。我們在用戶輸入大區域設置一個基本功能“rez in”類似編輯功能,對注冊用戶來說,空間容量必須足夠大,同時我們也為大多數的社區用戶增加功能,避免損害匿名用戶的豐富體驗。
Make Performance a Point of (Public) Pride 作出性能優勢
現在,我們已經完全使用雅虎的性能指導,并確保對匿名用戶提供最基本的必要的服務。
當談及網站性能時,就會想到一個基本的定律:你永遠無法讓網頁服務的速度比在服務器上渲染網頁的速度快。我知道這一點,但是我得告訴你,如果在一年左右的開發進程中沒有注意到幾百毫秒的差別,就會很容易會落入陷進。當某天,你回轉過來,發現你的網頁以一個非常奇異的速度呈現在服務器上了。這是一個了不起的速度,甚至你在網絡上傳輸第一個字節時,網頁已經打開!
這就是為什么作為一名開發人員,需要在每一個獨立頁面右上角設置性能。同時,這正是我們用MVC Mini Profiler來促進開源,而在把每一頁的右上角服務器渲染時間的簡單行來迫使我們解決我們所有的性能衰退和遺漏。

注意你可以點擊SQL上的鏈接,看看每一步實際運行的時間有多久。你也可以把鏈接分享給你的伙伴們,開發出該運行分析器數據中的弊端。它適用于AJAX請求,之前我所提到的開源MVC Mini Profiler是完全巨大的,如果此時你在.NET上,你應該去核實下。
隨著開發團隊為大家所呈現的渲染出的頁面,所作出的性能優勢,很多地方由于一點點馬虎而導致頁面不相稱,大部分性能是凌亂的,甚至無法進行重建,對用戶來說事情也變得更加簡單,快速。
它會正常運行嗎? ILAsm正常運行:

這是抓取Google頁面下載時段;從表上反映出完整的頁面需要載入的時間:

當然,服務器頁面所呈現的時間僅僅是性能的一部分,它取決于的時間你從哪段開始。我不能保證頁面呈現的時間段能幫助我們多少,但作為一個開發團隊,應該建立一個引人注目且又快的網站。我們的網站算是比較快的,但即使是像我們這么快的網站,因為這個簡單的變化我們也受益很多。
性能改變不是簡易之事,這是一個漫長而又艱難的道路,我們已經朝著好的硬件方向不斷的改變著。
我清楚的記得,2000年從AltaVista系統切換到Google,它的速度極快,對我來說,性能是一種特性,相比慢的網頁我更喜歡快速的。因此我創建了一個網站,這也正是我想使用的。但是,我認為在公共互聯網競爭環境中有一種東西永遠值得我們去學習——即所謂的兩種類型的網站:快速與停滯。
原文鏈接:http://sd.csdn.net/a/20110701/300875.html
【編輯推薦】