亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于SSI框架的高性能網(wǎng)站服務(wù)器端優(yōu)化技術(shù)

        2014-10-28 23:49:40劉敏娜解爭龍
        計算技術(shù)與自動化 2014年3期
        關(guān)鍵詞:優(yōu)化策略

        劉敏娜+解爭龍

        收稿日期:2014-02-24

        基金項目:陜西省科學(xué)技術(shù)研究發(fā)展計劃項目,自然基金(面上項目)(2013JM8037)

        作者簡介:劉敏娜(1981—),女,陜西咸陽人,講師,碩士,研究方向:高性能網(wǎng)站搭建。

        通訊聯(lián)系人,E-mail:mminnaliu@163.com

        文章編號:1003-6199(2014)03-0139-06

        摘 要:為解決服務(wù)器性能隨著訪問量增加不斷降低的問題,本文提出基于SSI框架的高性能網(wǎng)站服務(wù)器優(yōu)化策略。優(yōu)化策略包括JSP頁面靜態(tài)化,多線程并發(fā),線程池、定時器技術(shù)。經(jīng)過測試,該優(yōu)化策略能有效的降低網(wǎng)站的響應(yīng)時間,提高網(wǎng)站吞吐量。

        關(guān)鍵詞:SSI;優(yōu)化策略;JSP頁面靜態(tài)化;多線程并發(fā)

        中圖分類號:TP311.1 文獻標識碼:A

        High-perfomance web Server Optimization Strategy Based on SSI Framework

        LIU Min-na,XIE Zheng-long

        (Institute of Graphics and Image Processing, Xianyang Normal University, Xianyang,Shanxi 712000,China)

        Abstract:To solve the problem of decrease of server performance with the increase of traffic, this paper puts forward the high-performance web server optimization strategy based on SSI framework.Optimization strategy including the JSP page is static, multi-threaded concurrent, the thread pool technology, a timer.After testing, the optimization strategy can effectively reduce the response time of the site, improve site throughput.

        Key words:SSI; optimization strategy;the JSP page static; Multi-threaded concurrent

        1 引 言

        隨著互聯(lián)網(wǎng)絡(luò)的普及,網(wǎng)上的用戶群體數(shù)量不斷增加,網(wǎng)站的訪問流量也呈指數(shù)式增加,例如facebook擁有8.9億的用戶,每天要處理9200億的用戶web請求。很多網(wǎng)絡(luò)服務(wù)商因為網(wǎng)站沒有經(jīng)過優(yōu)化,一旦訪問量大就顯得不堪重負,體現(xiàn)在服務(wù)器不能及時處理用戶的請求,用戶需要長時間等待。因此搭建高性能的網(wǎng)站來滿足不斷增長的訪問量已成為迫在眉睫的問題。高性能的網(wǎng)站主要體現(xiàn)在響應(yīng)時間較短、并發(fā)數(shù)較大、吞吐容量較大等方面。目前,已經(jīng)有一些資料針對web前端進行優(yōu)化,而針對服務(wù)器端程序優(yōu)化的研究很少,本文主要研究通過JSP靜態(tài)化、多線程并發(fā)優(yōu)化從而將網(wǎng)站性能進行提升。

        2 網(wǎng)站優(yōu)化目前的研究情況

        《互聯(lián)網(wǎng)周刊》中提出通過“集群”軟件來實現(xiàn)多個服務(wù)器之間的高速切換,確保服務(wù)器系統(tǒng)的高響應(yīng)[1]。韓濤在《高性能電子商務(wù)網(wǎng)站前端設(shè)計理念研究》中指出“在網(wǎng)站前端通過合理設(shè)置緩存和網(wǎng)站文件的壓縮”來達到提高網(wǎng)站性能的目的[2]。也有文獻提出通過“減少DNS查找”,“優(yōu)化CSS”,“圖片壓縮”等方式來提高網(wǎng)站性能[3] [4]。這些策略在一定程度上可以緩解服務(wù)器的壓力,但是存在著一定的問題。如“集群”方式,是通過引入多個服務(wù)器協(xié)同工作,引入多個服務(wù)器勢必造成搭建網(wǎng)站的費用增加,對于大型的網(wǎng)站,如網(wǎng)易,淘寶可以實現(xiàn),但是對于中小型網(wǎng)站,由于投入的經(jīng)費有限,此種模式可行性不高;通過“web前端”合理設(shè)置這種方式,可行性較好,但主要針對的是客戶的瀏覽器的緩存和圖片壓縮等方面進行優(yōu)化,沒有考慮服務(wù)器方程序的優(yōu)化,優(yōu)化的程度受到一定的限制。通過查閱資料,發(fā)現(xiàn)在國內(nèi)服務(wù)器端優(yōu)化的研究資料非常少,因此,文中提出了基于服務(wù)器端的優(yōu)化策略,策略中包括JSP靜態(tài)化,多線程并發(fā)等技術(shù),并將這些優(yōu)化策略引入到咸陽師范學(xué)院圖書館網(wǎng)站中。

        3 JSP靜態(tài)化

        3.1 未靜態(tài)化的JSP執(zhí)行情況

        服務(wù)器接收到客戶方瀏覽器發(fā)出的訪問JSP頁面的請求之后,服務(wù)器先將JSP文件編譯為成為Servlet文件,然后對這個Servlet編譯、執(zhí)行,查詢數(shù)據(jù)庫之后,將動態(tài)拼湊的代碼返回至客戶端。如下圖1所示。

        從客戶端發(fā)出瀏覽請求到請求的頁面顯示出來所等待的時間受以下三個因素影響:

        1)服務(wù)器編譯JSP文件并執(zhí)行所需要的時間。

        2)讀寫數(shù)據(jù)庫所需要的時間。

        3)客戶方網(wǎng)絡(luò)的帶寬,帶寬會影響服務(wù)器接收請求以及將處理結(jié)果反饋的時間。

        第一個因素通過JSP靜態(tài)化策略可以改善訪問效率,第二個因素借助緩存技術(shù)能減小訪問時間。

        3.2 JSP靜態(tài)化

        多個客戶同時訪問同一個服務(wù)器中的JSP頁面,服務(wù)器需要對每個請求的JSP文件單獨進行編譯,執(zhí)行,響應(yīng)時間會比較長。但是如果將客戶請求的JSP頁面靜態(tài)化,也就是轉(zhuǎn)換成html文件,這樣不需要經(jīng)過服務(wù)器的編譯,可以直接加載到客戶瀏覽器上顯示,可以有效降低服務(wù)器負荷。轉(zhuǎn)換成靜態(tài)頁面適合蜘蛛抓取信息,另外對搜索引擎的SEO優(yōu)化起到很好的效果。JSP靜態(tài)化的執(zhí)行過程如下圖2所示。

        JSP靜態(tài)化包括以下三個步驟:

        1)定義一個繼承"JspWriter"的類,覆蓋JspWriter的輸出函數(shù),數(shù)據(jù)輸出到指定的文件中。

        2)定義數(shù)據(jù)庫查詢并獲取數(shù)據(jù)。

        3)讀取網(wǎng)頁模板,添加數(shù)據(jù)后生成新的靜態(tài)網(wǎng)頁。

        網(wǎng)頁模板可以通過FreeMarker來定義。FreeMarker是基于模板生成文本輸出的通用工具, 使用純 Java編寫。使用FreeMarker可以生成 HTML頁面,由FreeMarker生成頁面,通過模板顯示準備的數(shù)據(jù)[5]。FreeMarker的工作原理如下圖3所示。

        4 基于SSI框架的高性能網(wǎng)站的搭建

        應(yīng)用JSP靜態(tài)化,數(shù)據(jù)緩存等高性能網(wǎng)站策略搭建了咸陽師范學(xué)院圖書館網(wǎng)站。該網(wǎng)站采用SSI框架技術(shù),使用My sql數(shù)據(jù)庫管理軟件,應(yīng)用FreeMarker模版引擎。

        SSI 是struts,spring和ibatis的一個集成框架[6],該框架是目前較流行的一種Web應(yīng)用程序開源框架。系統(tǒng)的基本業(yè)務(wù)流程是:view層通過JSP頁面實現(xiàn)交互,接收請求和傳送響應(yīng),Struts根據(jù)配置文件struts-config.xml將ActionServlet接收到的Request分派給相應(yīng)的Action處理;business層管理服務(wù)組件,Spring IoC容器向Action提供業(yè)務(wù)模型組件和該組件的協(xié)作對象數(shù)據(jù)處理組件完成業(yè)務(wù)邏輯,并提供事務(wù)處理、緩沖池等容器組件[7] [8] [9]。

        4.1 網(wǎng)站系統(tǒng)分析

        圖書館網(wǎng)站分為用戶管理,角色管理,日志管理,任務(wù)管理,通用頁面管理,列表頁面管理6個模塊[10]。網(wǎng)站的系統(tǒng)結(jié)構(gòu)圖如圖4所示。

        4.2 圖書館網(wǎng)站提高性能的策略分析

        圖5說明了本文提出的高性能網(wǎng)站的六大策略的關(guān)系,定時器在這些策略中起核心作用,它控制生成靜態(tài)網(wǎng)頁的時間和將緩存的數(shù)據(jù)寫入數(shù)據(jù)庫的時間[11][12]。并發(fā)技術(shù)和多線程技術(shù)的引入是為了更高效的將數(shù)據(jù)寫入緩存。線程池是高效管理數(shù)據(jù)庫的連接的一種方式。

        1)JSP靜態(tài)化技術(shù)

        網(wǎng)站使用FreeMarker作為模板引擎,利用FreeMarker的Configuration類的getTemplate方法生成模板對象,利用模板對象的process方法將數(shù)據(jù)根據(jù)模板寫回指定路徑靜態(tài)文件中,這里的模板是事先定義的以ftl作為擴展名的網(wǎng)頁模板。

        靜態(tài)化核心算法如下:

        public static void crateHTML(Object, String, String) {

        Configuration freemarkerCfg = new Configuration()

        freemarkerCfg.setEncoding(Locale.getDefault(), "UTF-8")

        Writer out ,Writer outStream

        OutputStream fileOut

        Template template=freemarkerCfg.getTemplate(templatePath, "UTF-8") template.setEncoding("UTF-8")

        String htmlPath = ConfigRuntime.getBaseTargetPath() + targetHtmlPath

        File htmlFile = new File(htmlPath)

        fileOut = new FileOutputStream(htmlFile)

        outStream=new OutputStreamWriter(fileOut,"UTF-8")

        out = new BufferedWriter(outStream)

        template.process(data, out) }

        FileUtils.close(fileOut)

        FileUtils.close(outStream)

        FileUtils.close(out) } }

        2)緩存、多線程、并發(fā)技術(shù)

        使用緩存技術(shù)可以將那些頻繁訪問的數(shù)據(jù),以及那些需要大量處理時間來創(chuàng)建的數(shù)據(jù)存儲在內(nèi)存中,從而提高系統(tǒng)性能。

        緩存技術(shù)分為操作系統(tǒng)磁盤緩存,數(shù)據(jù)庫緩存,應(yīng)用程序緩存,Web服務(wù)器緩存,客戶端瀏覽器緩存。應(yīng)用程序緩存主要是減少對數(shù)據(jù)庫的查詢,而Web服務(wù)器緩存可以減少對應(yīng)用服務(wù)器的請求??梢姡彺婕夹g(shù)的應(yīng)用領(lǐng)域是非常廣的。本文主要針對的是應(yīng)用程序緩存。

        為了避免多次訪問數(shù)據(jù)庫,將用戶的session、角色信息和菜單信息存放在全局靜態(tài)map中。frame.base.memory中的一個類緩存了用戶 session 中的菜單,另外一個緩存了所有角色和菜單信息。

        Jave web啟動了多個線程將數(shù)據(jù)加入緩存提高訪問效率[13]。多線程操作時對某些變量設(shè)置讀鎖或者寫鎖,只有擁有寫鎖的線程才可以修改變量的值,以此避免多線程同時修改變量的值,造成變量的值不一致。

        3)數(shù)據(jù)庫鏈接池

        使用java創(chuàng)建jdbc數(shù)據(jù)庫連接速度慢,當創(chuàng)建一個jdbc 連接之后,數(shù)據(jù)庫訪問結(jié)束后需要關(guān)閉連接,下次訪問數(shù)據(jù)庫還需要重新創(chuàng)建,效率比較低。數(shù)據(jù)庫連接池的基本思想就是為數(shù)據(jù)庫連接建立一個“緩沖池”。預(yù)先在緩沖池中放入一定數(shù)量的連接,當需要建立數(shù)據(jù)庫連接時,只需從“緩沖池”中取出一個,使用完畢之后再放回去。

        程序中可以設(shè)定連接池最大連接數(shù)來防止系統(tǒng)與數(shù)據(jù)庫連接的數(shù)量,也可以通過連接池的管理機制監(jiān)視數(shù)據(jù)庫的連接的數(shù)量和使用情況,為系統(tǒng)開發(fā)、測試及性能調(diào)整提供依據(jù)。

        圖書館網(wǎng)站項目通過spring來管理數(shù)據(jù)庫鏈接,在spring-core.xml中定義了數(shù)據(jù)庫初始連接的最大數(shù)為20,最小數(shù)為1,一個連接在池中最小的生存時間為300秒。

        配置文件的核心代碼如下:

        <!-- 配置初始化大小、最小、最大 -->

        <!-- 配置獲取連接等待超時的時間 -->

        <!-- 配置間隔多久才進行一次檢測,檢測需要關(guān)閉的空閑連接,單位是毫秒 -->

        <!-- 配置一個連接在池中最小生存的時間,單位是毫秒 -->

        4)定時器技術(shù)

        通過定時器可以設(shè)定靜態(tài)頁面生成的時間以及緩存數(shù)據(jù)寫入內(nèi)存中的時間??梢姡鲜龅腏SP靜態(tài)化以及數(shù)據(jù)緩存技術(shù)必須與定時器相結(jié)合才能發(fā)揮定時生成頁面和將緩存數(shù)據(jù)寫入數(shù)據(jù)庫的作用。

        圖書館網(wǎng)站中設(shè)定有兩種定時器,分別是寫入數(shù)據(jù)的timer定時器和定時生成頁面的Spring定時器。Spring定時器在配置文件spring-quartz.xml中定義。

        5 測 試

        網(wǎng)站搭建在浪潮NF5240M3服務(wù)器上,處理器英特爾XeonE5-24070@2.20GHz,內(nèi)存16GB,主板浪潮NF5240M3,操作系統(tǒng) Windows 2008R2 Server Standard 64位。使用Jmeter測試性能[14],主要測試指標有響應(yīng)時間、并發(fā)數(shù)、吞吐量[15]。

        1)響應(yīng)時間測試

        從打開瀏覽器窗口輸入域名到返回頁面需要的時間如下圖6所示,累積花費時間588ms。

        如果網(wǎng)站沒有優(yōu)化,所需要的時間如下圖7,累積響應(yīng)時間7518ms,經(jīng)過優(yōu)化系統(tǒng)提速12倍。

        2)并發(fā)數(shù)和吞吐量測試

        (1)測試設(shè)置100個線程,每秒有10個線程訪問網(wǎng)站,每個線程循環(huán)5次,累積訪問網(wǎng)站500次。

        如下圖8所示,網(wǎng)站系統(tǒng)的吞吐量是每秒處理50.2個請求,在圖中Label表示請求類型,#sample表示樣本數(shù)目,Average是圖形報表中的平均值,Median是圖形報表中的中間值,90%Line是指90%請求的響應(yīng)時間比所得數(shù)值還要小,Min代表服務(wù)器響應(yīng)的最短時間,Max表示服務(wù)器響應(yīng)的最長時間,Error表示請求的錯誤百分比,Throughout表示服務(wù)器每單位時間處理的請求數(shù),KB/sec表示每秒鐘請求的字節(jié)數(shù)。表9為未優(yōu)化的網(wǎng)站的聚合圖,在圖中吞吐量為每秒鐘處理46.1個請求。經(jīng)過優(yōu)化,吞吐量提高了23%。

        (2)測試設(shè)置500個線程,每秒有10個線程訪問網(wǎng)站,每個線程循環(huán)5次,累積訪問網(wǎng)站2500次。網(wǎng)站的平均吞吐量是每秒鐘2746K字節(jié)。如圖10所示。

        圖11為沒有優(yōu)化的網(wǎng)站500個線程訪問量的聚合圖,吞吐量為每秒種2612K字節(jié)。優(yōu)化后吞吐量提高了5%。

        6 結(jié)束語

        本文基于SSI框架提出了web后臺優(yōu)化策略,從JSP靜態(tài)化技術(shù)、緩存、多線程、并發(fā)技術(shù)、數(shù)據(jù)庫連接池和定時器等方面進行優(yōu)化,縮短了系統(tǒng)的響應(yīng)時間和吞吐量。下一步工作是繼續(xù)研究這些優(yōu)化策略對后臺優(yōu)化的不同效率。

        參考文獻

        [1] 陳谷龍.網(wǎng)絡(luò)前端設(shè)計[J].互聯(lián)網(wǎng)周刊, 2000,9(04):85-86.

        [2] 韓濤.高性能電子商務(wù)網(wǎng)站前端設(shè)計理念研究[J].江蘇商論,2011,(05):50-52.

        [3] 馬淼.高性能網(wǎng)站優(yōu)化設(shè)計[J].中國傳媒科技,2012,(05):35-37.

        [4] 武俊峰,朱喜梅.基于電子商務(wù)的網(wǎng)站設(shè)計與性能優(yōu)化研究[J] .自動化技術(shù)與應(yīng)用,2008,( 07):21-23.

        [5] 李昊,劉志鏡.線程池技術(shù)的研究[J].現(xiàn)代電子技術(shù),2004(03):77-80.

        [6] 張琪.企業(yè)WEB應(yīng)用下SSI框架分析[J]南京工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報,2011(02):56-58.

        [7] 約翰遜.Spring框架高級編程[ M ].蔣培譯.北京:機械工業(yè)出版社, 2006 .

        [8] 蔣玉婷,劉素訪. 基于Struts架構(gòu)的大型購物系統(tǒng)研究與實現(xiàn)[J].電腦知識與技術(shù),2010(33):21-22.

        [9] TEWARIR, DAHLIN M,VIN HM,et al.Beyond Hierarchies: Design Considerationsfor Distribut ed Caching on the Internet [ M] . / /Proc ICD C c99. Aust in , May 1999 .

        [10]徐大偉. 基于MVC和iBatis的創(chuàng)新教育網(wǎng)絡(luò)平臺的實現(xiàn)[J].長春大學(xué)學(xué)報,2009(12):41-42.

        [11]張建超,張連堂.網(wǎng)站架構(gòu)演變技術(shù)研究[J].現(xiàn)代計算機(專業(yè)版),2012 (4) :53-55.

        [12]崔英志,張緒玉,高博.Web2.0時代的網(wǎng)站架構(gòu)[J].重慶工學(xué)院學(xué)報,2008(05):60-63.

        [13]施為.Web應(yīng)用程序中的數(shù)據(jù)緩存技術(shù)分析[J].淮陰師范學(xué)院學(xué)報(自然科學(xué)版).2006(05):320-321.

        [14]佘青.利用Apache Jmeter進行Web性能測試的研究[J].智能計算機與應(yīng)用,2012(02):32-33.

        [15]陳紹英,夏海濤,金成姬.Web性能測試實戰(zhàn)[M].北京:電子工業(yè)出版社,2006:140-142.

        圖書館網(wǎng)站項目通過spring來管理數(shù)據(jù)庫鏈接,在spring-core.xml中定義了數(shù)據(jù)庫初始連接的最大數(shù)為20,最小數(shù)為1,一個連接在池中最小的生存時間為300秒。

        配置文件的核心代碼如下:

        <!-- 配置初始化大小、最小、最大 -->

        <!-- 配置獲取連接等待超時的時間 -->

        <!-- 配置間隔多久才進行一次檢測,檢測需要關(guān)閉的空閑連接,單位是毫秒 -->

        <!-- 配置一個連接在池中最小生存的時間,單位是毫秒 -->

        4)定時器技術(shù)

        通過定時器可以設(shè)定靜態(tài)頁面生成的時間以及緩存數(shù)據(jù)寫入內(nèi)存中的時間??梢姡鲜龅腏SP靜態(tài)化以及數(shù)據(jù)緩存技術(shù)必須與定時器相結(jié)合才能發(fā)揮定時生成頁面和將緩存數(shù)據(jù)寫入數(shù)據(jù)庫的作用。

        圖書館網(wǎng)站中設(shè)定有兩種定時器,分別是寫入數(shù)據(jù)的timer定時器和定時生成頁面的Spring定時器。Spring定時器在配置文件spring-quartz.xml中定義。

        5 測 試

        網(wǎng)站搭建在浪潮NF5240M3服務(wù)器上,處理器英特爾XeonE5-24070@2.20GHz,內(nèi)存16GB,主板浪潮NF5240M3,操作系統(tǒng) Windows 2008R2 Server Standard 64位。使用Jmeter測試性能[14],主要測試指標有響應(yīng)時間、并發(fā)數(shù)、吞吐量[15]。

        1)響應(yīng)時間測試

        從打開瀏覽器窗口輸入域名到返回頁面需要的時間如下圖6所示,累積花費時間588ms。

        如果網(wǎng)站沒有優(yōu)化,所需要的時間如下圖7,累積響應(yīng)時間7518ms,經(jīng)過優(yōu)化系統(tǒng)提速12倍。

        2)并發(fā)數(shù)和吞吐量測試

        (1)測試設(shè)置100個線程,每秒有10個線程訪問網(wǎng)站,每個線程循環(huán)5次,累積訪問網(wǎng)站500次。

        如下圖8所示,網(wǎng)站系統(tǒng)的吞吐量是每秒處理50.2個請求,在圖中Label表示請求類型,#sample表示樣本數(shù)目,Average是圖形報表中的平均值,Median是圖形報表中的中間值,90%Line是指90%請求的響應(yīng)時間比所得數(shù)值還要小,Min代表服務(wù)器響應(yīng)的最短時間,Max表示服務(wù)器響應(yīng)的最長時間,Error表示請求的錯誤百分比,Throughout表示服務(wù)器每單位時間處理的請求數(shù),KB/sec表示每秒鐘請求的字節(jié)數(shù)。表9為未優(yōu)化的網(wǎng)站的聚合圖,在圖中吞吐量為每秒鐘處理46.1個請求。經(jīng)過優(yōu)化,吞吐量提高了23%。

        (2)測試設(shè)置500個線程,每秒有10個線程訪問網(wǎng)站,每個線程循環(huán)5次,累積訪問網(wǎng)站2500次。網(wǎng)站的平均吞吐量是每秒鐘2746K字節(jié)。如圖10所示。

        圖11為沒有優(yōu)化的網(wǎng)站500個線程訪問量的聚合圖,吞吐量為每秒種2612K字節(jié)。優(yōu)化后吞吐量提高了5%。

        6 結(jié)束語

        本文基于SSI框架提出了web后臺優(yōu)化策略,從JSP靜態(tài)化技術(shù)、緩存、多線程、并發(fā)技術(shù)、數(shù)據(jù)庫連接池和定時器等方面進行優(yōu)化,縮短了系統(tǒng)的響應(yīng)時間和吞吐量。下一步工作是繼續(xù)研究這些優(yōu)化策略對后臺優(yōu)化的不同效率。

        參考文獻

        [1] 陳谷龍.網(wǎng)絡(luò)前端設(shè)計[J].互聯(lián)網(wǎng)周刊, 2000,9(04):85-86.

        [2] 韓濤.高性能電子商務(wù)網(wǎng)站前端設(shè)計理念研究[J].江蘇商論,2011,(05):50-52.

        [3] 馬淼.高性能網(wǎng)站優(yōu)化設(shè)計[J].中國傳媒科技,2012,(05):35-37.

        [4] 武俊峰,朱喜梅.基于電子商務(wù)的網(wǎng)站設(shè)計與性能優(yōu)化研究[J] .自動化技術(shù)與應(yīng)用,2008,( 07):21-23.

        [5] 李昊,劉志鏡.線程池技術(shù)的研究[J].現(xiàn)代電子技術(shù),2004(03):77-80.

        [6] 張琪.企業(yè)WEB應(yīng)用下SSI框架分析[J]南京工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報,2011(02):56-58.

        [7] 約翰遜.Spring框架高級編程[ M ].蔣培譯.北京:機械工業(yè)出版社, 2006 .

        [8] 蔣玉婷,劉素訪. 基于Struts架構(gòu)的大型購物系統(tǒng)研究與實現(xiàn)[J].電腦知識與技術(shù),2010(33):21-22.

        [9] TEWARIR, DAHLIN M,VIN HM,et al.Beyond Hierarchies: Design Considerationsfor Distribut ed Caching on the Internet [ M] . / /Proc ICD C c99. Aust in , May 1999 .

        [10]徐大偉. 基于MVC和iBatis的創(chuàng)新教育網(wǎng)絡(luò)平臺的實現(xiàn)[J].長春大學(xué)學(xué)報,2009(12):41-42.

        [11]張建超,張連堂.網(wǎng)站架構(gòu)演變技術(shù)研究[J].現(xiàn)代計算機(專業(yè)版),2012 (4) :53-55.

        [12]崔英志,張緒玉,高博.Web2.0時代的網(wǎng)站架構(gòu)[J].重慶工學(xué)院學(xué)報,2008(05):60-63.

        [13]施為.Web應(yīng)用程序中的數(shù)據(jù)緩存技術(shù)分析[J].淮陰師范學(xué)院學(xué)報(自然科學(xué)版).2006(05):320-321.

        [14]佘青.利用Apache Jmeter進行Web性能測試的研究[J].智能計算機與應(yīng)用,2012(02):32-33.

        [15]陳紹英,夏海濤,金成姬.Web性能測試實戰(zhàn)[M].北京:電子工業(yè)出版社,2006:140-142.

        圖書館網(wǎng)站項目通過spring來管理數(shù)據(jù)庫鏈接,在spring-core.xml中定義了數(shù)據(jù)庫初始連接的最大數(shù)為20,最小數(shù)為1,一個連接在池中最小的生存時間為300秒。

        配置文件的核心代碼如下:

        <!-- 配置初始化大小、最小、最大 -->

        <!-- 配置獲取連接等待超時的時間 -->

        <!-- 配置間隔多久才進行一次檢測,檢測需要關(guān)閉的空閑連接,單位是毫秒 -->

        <!-- 配置一個連接在池中最小生存的時間,單位是毫秒 -->

        4)定時器技術(shù)

        通過定時器可以設(shè)定靜態(tài)頁面生成的時間以及緩存數(shù)據(jù)寫入內(nèi)存中的時間??梢?,上述的JSP靜態(tài)化以及數(shù)據(jù)緩存技術(shù)必須與定時器相結(jié)合才能發(fā)揮定時生成頁面和將緩存數(shù)據(jù)寫入數(shù)據(jù)庫的作用。

        圖書館網(wǎng)站中設(shè)定有兩種定時器,分別是寫入數(shù)據(jù)的timer定時器和定時生成頁面的Spring定時器。Spring定時器在配置文件spring-quartz.xml中定義。

        5 測 試

        網(wǎng)站搭建在浪潮NF5240M3服務(wù)器上,處理器英特爾XeonE5-24070@2.20GHz,內(nèi)存16GB,主板浪潮NF5240M3,操作系統(tǒng) Windows 2008R2 Server Standard 64位。使用Jmeter測試性能[14],主要測試指標有響應(yīng)時間、并發(fā)數(shù)、吞吐量[15]。

        1)響應(yīng)時間測試

        從打開瀏覽器窗口輸入域名到返回頁面需要的時間如下圖6所示,累積花費時間588ms。

        如果網(wǎng)站沒有優(yōu)化,所需要的時間如下圖7,累積響應(yīng)時間7518ms,經(jīng)過優(yōu)化系統(tǒng)提速12倍。

        2)并發(fā)數(shù)和吞吐量測試

        (1)測試設(shè)置100個線程,每秒有10個線程訪問網(wǎng)站,每個線程循環(huán)5次,累積訪問網(wǎng)站500次。

        如下圖8所示,網(wǎng)站系統(tǒng)的吞吐量是每秒處理50.2個請求,在圖中Label表示請求類型,#sample表示樣本數(shù)目,Average是圖形報表中的平均值,Median是圖形報表中的中間值,90%Line是指90%請求的響應(yīng)時間比所得數(shù)值還要小,Min代表服務(wù)器響應(yīng)的最短時間,Max表示服務(wù)器響應(yīng)的最長時間,Error表示請求的錯誤百分比,Throughout表示服務(wù)器每單位時間處理的請求數(shù),KB/sec表示每秒鐘請求的字節(jié)數(shù)。表9為未優(yōu)化的網(wǎng)站的聚合圖,在圖中吞吐量為每秒鐘處理46.1個請求。經(jīng)過優(yōu)化,吞吐量提高了23%。

        (2)測試設(shè)置500個線程,每秒有10個線程訪問網(wǎng)站,每個線程循環(huán)5次,累積訪問網(wǎng)站2500次。網(wǎng)站的平均吞吐量是每秒鐘2746K字節(jié)。如圖10所示。

        圖11為沒有優(yōu)化的網(wǎng)站500個線程訪問量的聚合圖,吞吐量為每秒種2612K字節(jié)。優(yōu)化后吞吐量提高了5%。

        6 結(jié)束語

        本文基于SSI框架提出了web后臺優(yōu)化策略,從JSP靜態(tài)化技術(shù)、緩存、多線程、并發(fā)技術(shù)、數(shù)據(jù)庫連接池和定時器等方面進行優(yōu)化,縮短了系統(tǒng)的響應(yīng)時間和吞吐量。下一步工作是繼續(xù)研究這些優(yōu)化策略對后臺優(yōu)化的不同效率。

        參考文獻

        [1] 陳谷龍.網(wǎng)絡(luò)前端設(shè)計[J].互聯(lián)網(wǎng)周刊, 2000,9(04):85-86.

        [2] 韓濤.高性能電子商務(wù)網(wǎng)站前端設(shè)計理念研究[J].江蘇商論,2011,(05):50-52.

        [3] 馬淼.高性能網(wǎng)站優(yōu)化設(shè)計[J].中國傳媒科技,2012,(05):35-37.

        [4] 武俊峰,朱喜梅.基于電子商務(wù)的網(wǎng)站設(shè)計與性能優(yōu)化研究[J] .自動化技術(shù)與應(yīng)用,2008,( 07):21-23.

        [5] 李昊,劉志鏡.線程池技術(shù)的研究[J].現(xiàn)代電子技術(shù),2004(03):77-80.

        [6] 張琪.企業(yè)WEB應(yīng)用下SSI框架分析[J]南京工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報,2011(02):56-58.

        [7] 約翰遜.Spring框架高級編程[ M ].蔣培譯.北京:機械工業(yè)出版社, 2006 .

        [8] 蔣玉婷,劉素訪. 基于Struts架構(gòu)的大型購物系統(tǒng)研究與實現(xiàn)[J].電腦知識與技術(shù),2010(33):21-22.

        [9] TEWARIR, DAHLIN M,VIN HM,et al.Beyond Hierarchies: Design Considerationsfor Distribut ed Caching on the Internet [ M] . / /Proc ICD C c99. Aust in , May 1999 .

        [10]徐大偉. 基于MVC和iBatis的創(chuàng)新教育網(wǎng)絡(luò)平臺的實現(xiàn)[J].長春大學(xué)學(xué)報,2009(12):41-42.

        [11]張建超,張連堂.網(wǎng)站架構(gòu)演變技術(shù)研究[J].現(xiàn)代計算機(專業(yè)版),2012 (4) :53-55.

        [12]崔英志,張緒玉,高博.Web2.0時代的網(wǎng)站架構(gòu)[J].重慶工學(xué)院學(xué)報,2008(05):60-63.

        [13]施為.Web應(yīng)用程序中的數(shù)據(jù)緩存技術(shù)分析[J].淮陰師范學(xué)院學(xué)報(自然科學(xué)版).2006(05):320-321.

        [14]佘青.利用Apache Jmeter進行Web性能測試的研究[J].智能計算機與應(yīng)用,2012(02):32-33.

        [15]陳紹英,夏海濤,金成姬.Web性能測試實戰(zhàn)[M].北京:電子工業(yè)出版社,2006:140-142.

        猜你喜歡
        優(yōu)化策略
        信息化背景下大學(xué)英語生態(tài)課堂的失衡與優(yōu)化策略
        高中體育籃球教學(xué)優(yōu)化策略探究
        考試周刊(2016年85期)2016-11-11 01:51:17
        芻議高校體操教學(xué)環(huán)境的優(yōu)化策略
        體育時空(2016年9期)2016-11-10 20:58:04
        基于自然人文景觀資源的人居環(huán)境優(yōu)化探析
        鄉(xiāng)村旅游供應(yīng)鏈優(yōu)化探析
        文教資料(2016年19期)2016-11-07 07:18:10
        高校思想政治教育存在的問題及策略研究
        武漢市部分高職高專院校足球課的開展現(xiàn)狀及制約因素
        鄉(xiāng)鎮(zhèn)農(nóng)業(yè)經(jīng)濟發(fā)展的現(xiàn)狀及優(yōu)化策略分析
        企業(yè)重大風(fēng)險確定及管理建議的研究論述
        分組合作學(xué)習(xí)在小學(xué)語文高效課堂教學(xué)中的應(yīng)用探索
        考試周刊(2016年76期)2016-10-09 08:49:15
        欧美久久中文字幕| 日韩欧美成人免费观看| 丰满少妇大力进入av亚洲| 99精品热6080yy久久| 久久综合久中文字幕青草| 色婷婷精品久久二区二区蜜桃| 国产l精品国产亚洲区久久| 99国产精品99久久久久久| 亚洲av无码潮喷在线观看| 四虎影视久久久免费| 天堂精品人妻一卡二卡| 日产乱码一二三区别免费l| 欧美国产精品久久久乱码| 91华人在线| 亚洲av男人的天堂在线| 国产成人av一区二区三区在线观看 | 天堂av在线美女免费| 成人三级a视频在线观看| 亚洲AV无码精品色欲av| 日韩精品一区二区三区av| 欧美顶级少妇作爱| 日本午夜免费福利视频| 丰满人妻AV无码一区二区三区| 精品嫩模福利一区二区蜜臀| 全免费a敌肛交毛片免费| 国产一品道av在线一二三区| 一区二区三区中文字幕有码| 国产亚洲成人精品久久| 99久久综合精品五月天| 亚洲国产欧美另类va在线观看 | 国内揄拍国内精品人妻久久| 亚洲国产精品第一区二区| 亚洲综合偷自成人网第页色| 亚洲天堂av在线观看免费| 成熟丰满熟妇av无码区| 男女超爽视频免费播放| 青青草原亚洲在线视频| 麻豆资源在线观看视频| 少妇人妻200篇白洁| 久久久久亚洲AV无码去区首| 少妇被黑人嗷嗷大叫视频|