前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的工業互聯網論文主題范文,僅供參考,歡迎閱讀并收藏。
Abstract: Website optimization, has been to bring attention to a problem, how to provide users build better user experience is the ultimate goal of Web site optimization. The article sets out from practice, mainly in the cache technology, pages compression, storage and availability optimization etc. on website optimization is discussed, and puts forward some reference suggestions.
關鍵詞:用戶;網站;優化
Key Words:Web;Data;Cache;
隨著Internet的不斷發展,各種新的技術手段日益的更新,人們接收和處理信息的方式也發生了巨大的變化,這已經成為不爭的事實。據中國互聯網絡信息中心的《第25次中國互聯網絡發展狀況統計報告》顯示,截止到2009年12月份,中國網民規模已經達到3.84億人,較上一年增長28.9%,互聯網普及率在穩步上升。在各種網絡應用中,我們可以大致分為四類:信息獲取類;交流溝通類;網絡娛樂類;商務交易類。以上應用絕大多數都離不開Web的支持,如何構建合適的Web網站,提供更好的用戶體驗,成為人們更為關注的熱點問題。筆者以自己參與研究的河南省教育和科研網絡論壇為例,從用戶的角度出發,提出了在實踐中發現的問題,并給出了Web網站優化的幾點意見,以供參考。
一、面向Web用戶的需求分析
據CNNIC提供的數據顯示,中國網民繼續向低學歷人群滲透。2009年初中及以下網民群體增速超過整體網民增速,占到整體網民的35.6%,高中學歷網民所占比例略微提升,大專及以上學歷網民所占比例繼續降低,網民學歷結構更為均衡。從職業結構來看,中國學生網民群體占比明顯下降,同時產業工人、服務業從業者、無業人員、農民群體等網民比重有所提升,越來越多的弱勢群體開始使用互聯網。
用戶的需求包括功能性需求、性能需求、環境需求、可靠性需求、安全保密需求、用戶界面需求、資源使用需求等。根據上文對網民結構所做的分析,從不失一般性的角度出發,我們可以得出Web用戶更關注功能性需求、性能需求和用戶界面需求,但作為Web服務的提供者,其他幾種需求也是應該考慮到的。功能性需求是指用戶想要得到何種Web服務,這是最主要的需求。性能需求是指用戶應該得到滿意的服務質量,包括在不同環境下得到相同的服務,信息傳遞延遲的要求等。用戶界面需求是指用戶能夠在友好的環境下方便、有效、愉快地使用所提供的服務,從市場的角度來看,具有友好界面的Web具有很強的市場競爭力。
二、現有環境及問題分析
河南省教育科研網論壇(bbs.ha.省略)由河南教育科研網網絡中心和鄭州大學研究生創新中心于2009年共同創辦,是一個面向全省的綜合性門戶網站,內容涉及大學師生的工作、學習、生活的各個方面。網站采用IIS6.0作為Web服務器,以Visual Studio2005作為開發工具,采用C#語言,以 2.0技術平臺來實現頁面的動態生成,數據庫采用SQL Server 2005服務器。
整體而言,目前的用戶使用網絡的目的更趨于實用性,選擇更多,更容易選擇或離開一個Web站點,用戶的耐心幾乎成為一種稀缺資源。如何在用戶可以忍受的范圍內,將有價值的信息呈現給用戶,是進行網站優化的最基本要求。美國一家獨立調查公司的調查結果顯示,網站必須在10秒之內對用戶的訪問做出響應,否則將流失至少30%的潛在客戶。截止到2010年底,用戶所能容忍的時間已從10秒縮短至不到3秒。在進行網站優化之前,我們必須了解以下三個事實。1、用戶不閱讀,只掃描。人們只是掃描一下網頁,尋找其中感興趣的內容,并點擊他們,對于其他內容,毫不關心。2、用戶不要最佳結果,滿意即可。一個網頁可能提供多個同一類型的鏈接,用戶在掃描的時候,并不考慮哪個鏈接能提供最佳的結果,只是嘗試性的點擊其中一個,如果能夠得到滿意的內容,不會再去點擊其他鏈接,即使點錯了,再退回去,并不造成什么損失。3、用戶不探究,只應付。人們使用現實中的某種物品,并不理解他的運作原理,而是按照自己的習慣去使用,比如對于某種電器產品,用戶買回家后,很少去閱讀使用說明,而是按照自己的理解(即使是錯誤的)去操作,只要能夠順利完成任務就萬事大吉,這種應付的態度對于Web的使用也是同樣的。用戶并不按照設計師的想法去理解網站的運作原理,而是按照自己一貫的,某種有效方法去操作,即使有更好的操作途徑。
三、基于用戶的優化技術
在充分考慮到用戶的感受和Web使用習慣后,我們可以著手從以下幾個方面對網站進行優化。
1、使用緩存技術
高流量的交互性網站,往往會面臨一個難題,就是反復大數據量的操作時,Web應用程序的性能很難保證,單純依賴硬件的提升會直接造成費用的攀升。如果我們對經常請求且很少變化的數據加以緩存,那么就可以緩解這個難題帶給我們的煩惱。提供了兩類Web應用程序緩存:輸出緩存和數據緩存。
輸出緩存技術通過緩存從動態頁生成的內容來提高請求/響應吞吐量。輸出緩存在默認情況下是開啟的,但是除非執行顯示操作以使響應可以緩存,否則來自任何給定響應的輸出都不會被緩存。頁面的內容經過頁輸出緩存處理后存儲在內存中。當用戶再次請求這個被緩存的頁面時,從內存中作出響應,而不必再次經過頁處理生命周期。頁輸出緩存對那些不經常更改,但需要大量處理才能創建的頁特別有用。可以單獨緩存一個頁面也可以通過配置Web應用程序的配置文件緩存多個頁面。這樣除第一次請求外,后續請求將直接從緩存中輸出網頁,而無需重新生成頁面,從而節省了資源,提升了Web應用程序的整體性能。需要注意的是,網站緩存大量頁面實例會消耗很多的服務器資源,在有些情況下,網站頁面的大部分區域是不變的,因此只需要頁的某些部分在請求的時候更新。為此,我們可以采用部分緩存功能。例如,可以通過創建用戶控件來包含緩存的內容,與普通緩存頁一樣加入@OutputCache指令來指定緩存策略,或者在用戶控件后置代碼中使用PartialCachingAttribute類,以聲明的方式為用戶控件設置設置這些策略。如一個BBS網站的大量頁面都包含一個靜態公告,其他內容均為動態的,這部分靜態公告就可以放入用戶控件來緩存起來。
數據緩存的運行機制是將應用程序的數據緩存起來,以提高程序的性能。緩存是由Cache對象實現的,緩存實力是每個應用程序專用的。緩存生存周期依賴于應用程序的生存期;重新啟動應用程序之后,將重新創建Cache對象。Cache對象具備過期策略,我們可以通過使用簡單的鍵值對將項防止在Cache中,從而進行存取。例如:
Cache類提供了強大的功能,允許自定義如何緩存項,以及將其緩存多長時間。例如,應用程序運行中,服務器缺乏內存時,緩存會自動移除優先級較低的或很少使用的項以釋放內存。這是緩存確保過期數據不適用寶貴服務器資源的方法之一。
2、使用頁面壓縮技術
對于一個HTTP請求,如果給予更少的應答內容,那么在服務器和客戶端之間的傳輸時間將因為數據包的減少而減少,對于帶寬較低的網絡效果則更加明顯。對腳本和樣式表進行壓縮是減少網頁容量的最簡單方法。GZIP最早由Jean-loup Gailly和Mark Adler創建,被用于于UNIX系統文件的壓縮,目前已經成為Internet上非常普遍使用的數據壓縮技術。大部分的Web服務器和瀏覽器都支持Gzip壓縮。在服務器上的頁面在傳輸之前,先使用Gzip壓縮再傳輸給客戶端,客戶端接收之后由瀏覽器解壓顯示,這樣一來帶寬利用率被大幅度提高。對于純文本的網頁,壓縮率是相當可觀的。假如每個用戶節約50%的帶寬,那么網站租用來的那些帶寬就可以服務多一倍的客戶。但是,PDF文件和圖片就不應該進行壓縮,因為它們本身已經被壓縮過了。雖然采用壓縮和解壓技術會帶來一定的CPU負擔,不過比起發送和傳輸時延的大幅減少所帶來的收益,還是值得的。
3、使用存儲過程
存儲過程是存儲在服務器上的一組預編譯的SQL語句。在后臺數據庫的優化中,我們可以將部分常用的數據庫訪問操作封裝為存儲過程,這樣做可以帶來以下好處。首先,封裝了基本事物,從而使數據庫訪問接口更加清晰、簡潔,層次也更為合理。其次,存儲過程可以提高數據庫訪問的性能,減少網絡訪問的數據交換。存儲過程將相關事物封裝起來,不僅符合數據庫訪問按事物進行的要求,而且可以將存儲過程的訪問結果進行緩存,從而提高訪問性能。此外存儲過程相當于函數,在使用時只需傳輸存儲過程名、參數和參數的數值等數據,無需編寫復雜的SQL語句,因此可以減少網絡流量。再次,對于程序設計而言,存儲過程可以簡化編碼,并有利于系統修改。存儲過程封裝了基本事物,這樣可以增加代碼的復用性、共享性和結構化,從而加快開發速度。此外,利用存儲過程可以有效的減少在頁面中分散的SQL語句的訪問,有利于系統修改。如果需要修改數據庫的邏輯結構,只需更新相關存儲過程即可,對頁面可以實現很好的封裝和隔離,不必大規模修改頁面。
4、可用性優化
Web界面優化是網站優化的一種延伸,是人機交互方式的演變。
①搜索引擎優化。現在的用戶使用互聯網尋求問題的答案時,總是首先想到求助于搜索引擎,但幾乎從不看除第一頁之外的搜索結果,因此搜索引擎優化就成為一個Web的重要內容。我們首先來看一下幾個網絡社區的首頁標題。
搜索引擎往往會給予出現在頁面標題中的單詞更多的權重,而用戶在瀏覽搜索結果列表時,通常會根據標題的內容來判斷該網站所提供的內容。例如,新浪論壇首頁標題中出現的“全球最大中文社區”,愛卡汽車論壇首頁出現的“汽車論壇_汽車社區_愛卡汽車論壇|車友會_愛卡汽車網”等內容,很容易使搜索引擎,按照用戶所提供的關鍵詞搜索到該網站,也便于用戶識別該網站所提供的內容,從而提高網站點擊率。而河南省教育科研網論壇的首頁標題就顯得過于蒼白,不妨改為“河南省教育科研網論壇_大學生自己的網上家園”。
②信息表現優化。首先應該為頁面建立清晰的視覺層次,而且能夠準確的描述頁面內容間的關系:哪些內容相關,哪些內容是其他內容的嵌套。其中包括突出重要部分,可將重要內容以加粗傾斜的方式,或者用比較強烈的顏色進行顯示;使邏輯上相關的部分在邏輯上也相關,例如可以把內容相關的部分放在一組或同一個標題下。
③采用人們熟悉的界面。
對比上面的圖1和圖2為的登錄界面,除了必要的用戶名、密碼輸入框、登錄按鈕、新用戶注冊和忘記密碼的服務外,大河論壇還提供了站內搜索的功能。兩個網站最大的不同在于,“幫助文檔”的呈現方式。圖1中的“BBS管理制度”,對普通用戶來說幾乎沒有任何作用,更不會花費時間去閱讀。但是用戶在使用網站出現問題時,通常會去點擊如圖2中的“幫助中心”,并查詢問題的解答。對于注重實用性需求的交互式網站而言,除非有一個更好的實用的創新,否則盡可能的采用人們習慣的界面。
④讓內容易于掃描。現在的用戶在非必要的情況下,不會去閱讀整段的文字,因為那意味著,他們要從許多大段的文字中,尋找有用的信息,而這樣做的效率是比較低的。一個比較好的做法是,控制網頁中的文字性內容,使用戶能夠從簡短的語句甚至單詞的描述中,找到有價值的信息。比如,控制用戶帖子標題和內容的字符長度。
四、總結
在交互式網站的優化中,諸如動態頁面靜態化,合理的選擇控件,對用戶個性化信息進行控制等方法也是可以采用的,但要考慮到網站的具體運行情況和所面向用戶的使用習慣問題。無論如何,只有在實踐中加以探索,才能達到更好的效果。
參考文獻:
[1] 中國互聯網絡信息中心(CNNIC)第25次中國互聯網絡發展狀況統計報告.省略.2010.
[2] 劉婕 張琳. 2.0+SQL Server動態網站開發從基礎到實踐[M].北京:電子工業出版社,2007.
[3] 張海藩 倪寧.軟件工程(第三版)[M].北京:人民郵電出版社,2010.
[4] 董建民,傅立民,Gravriel Salvendy.人機交互:以用戶為中心的設計
和評估[M].北京:清華大學出版社,2003.
[5] 魏璞.Web優化的研究及其應用[J].北京郵電大學工程碩士研究生學位論文,2008.省略
第2作者:段向東(出生1980年), 性別:男(漢族), 河南省鄭州市,職稱:助教,學位:工學碩士,研究方向:單片機技術及應用