999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2014-10-28 23:49:40劉敏娜解爭(zhēng)龍
關(guān)鍵詞:優(yōu)化策略

劉敏娜+解爭(zhēng)龍

收稿日期:2014-02-24

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

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

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

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

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

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

中圖分類號(hào):TP311.1 文獻(xiàn)標(biāo)識(shí)碼: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)站的訪問(wèn)流量也呈指數(shù)式增加,例如facebook擁有8.9億的用戶,每天要處理9200億的用戶web請(qǐng)求。很多網(wǎng)絡(luò)服務(wù)商因?yàn)榫W(wǎng)站沒有經(jīng)過(guò)優(yōu)化,一旦訪問(wèn)量大就顯得不堪重負(fù),體現(xiàn)在服務(wù)器不能及時(shí)處理用戶的請(qǐng)求,用戶需要長(zhǎng)時(shí)間等待。因此搭建高性能的網(wǎng)站來(lái)滿足不斷增長(zhǎng)的訪問(wèn)量已成為迫在眉睫的問(wèn)題。高性能的網(wǎng)站主要體現(xiàn)在響應(yīng)時(shí)間較短、并發(fā)數(shù)較大、吞吐容量較大等方面。目前,已經(jīng)有一些資料針對(duì)web前端進(jìn)行優(yōu)化,而針對(duì)服務(wù)器端程序優(yōu)化的研究很少,本文主要研究通過(guò)JSP靜態(tài)化、多線程并發(fā)優(yōu)化從而將網(wǎng)站性能進(jìn)行提升。

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

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

3 JSP靜態(tài)化

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

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

從客戶端發(fā)出瀏覽請(qǐng)求到請(qǐng)求的頁(yè)面顯示出來(lái)所等待的時(shí)間受以下三個(gè)因素影響:

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

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

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

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

3.2 JSP靜態(tài)化

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

靜態(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ù)可以將那些頻繁訪問(wèn)的數(shù)據(jù),以及那些需要大量處理時(shí)間來(lái)創(chuàng)建的數(shù)據(jù)存儲(chǔ)在內(nèi)存中,從而提高系統(tǒng)性能。

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

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

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

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

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

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

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

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

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

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

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

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

4)定時(shí)器技術(shù)

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

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

5 測(cè) 試

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

1)響應(yīng)時(shí)間測(cè)試

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

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

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

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

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

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

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

6 結(jié)束語(yǔ)

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

參考文獻(xiàn)

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

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

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

[4] 武俊峰,朱喜梅.基于電子商務(wù)的網(wǎng)站設(shè)計(jì)與性能優(yōu)化研究[J] .自動(dòng)化技術(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é)報(bào),2011(02):56-58.

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

[8] 蔣玉婷,劉素訪. 基于Struts架構(gòu)的大型購(gòu)物系統(tǒng)研究與實(shí)現(xiàn)[J].電腦知識(shí)與技術(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ò)平臺(tái)的實(shí)現(xiàn)[J].長(zhǎng)春大學(xué)學(xué)報(bào),2009(12):41-42.

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

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

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

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

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

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

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

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

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

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

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

4)定時(shí)器技術(shù)

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

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

5 測(cè) 試

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

1)響應(yīng)時(shí)間測(cè)試

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

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

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

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

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

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

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

6 結(jié)束語(yǔ)

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

參考文獻(xiàn)

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

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

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

[4] 武俊峰,朱喜梅.基于電子商務(wù)的網(wǎng)站設(shè)計(jì)與性能優(yōu)化研究[J] .自動(dòng)化技術(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é)報(bào),2011(02):56-58.

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

[8] 蔣玉婷,劉素訪. 基于Struts架構(gòu)的大型購(gòu)物系統(tǒng)研究與實(shí)現(xiàn)[J].電腦知識(shí)與技術(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ò)平臺(tái)的實(shí)現(xiàn)[J].長(zhǎng)春大學(xué)學(xué)報(bào),2009(12):41-42.

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

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

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

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

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

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

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

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

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

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

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

4)定時(shí)器技術(shù)

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

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

5 測(cè) 試

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

1)響應(yīng)時(shí)間測(cè)試

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

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

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

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

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

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

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

6 結(jié)束語(yǔ)

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

參考文獻(xiàn)

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

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

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

[4] 武俊峰,朱喜梅.基于電子商務(wù)的網(wǎng)站設(shè)計(jì)與性能優(yōu)化研究[J] .自動(dòng)化技術(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é)報(bào),2011(02):56-58.

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

[8] 蔣玉婷,劉素訪. 基于Struts架構(gòu)的大型購(gòu)物系統(tǒng)研究與實(shí)現(xiàn)[J].電腦知識(shí)與技術(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ò)平臺(tái)的實(shí)現(xiàn)[J].長(zhǎng)春大學(xué)學(xué)報(bào),2009(12):41-42.

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

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

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

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

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

猜你喜歡
優(yōu)化策略
信息化背景下大學(xué)英語(yǔ)生態(tài)課堂的失衡與優(yōu)化策略
高中體育籃球教學(xué)優(yōu)化策略探究
考試周刊(2016年85期)2016-11-11 01:51:17
芻議高校體操教學(xué)環(huán)境的優(yōu)化策略
基于自然人文景觀資源的人居環(huán)境優(yōu)化探析
鄉(xiāng)村旅游供應(yīng)鏈優(yōu)化探析
文教資料(2016年19期)2016-11-07 07:18:10
高校思想政治教育存在的問(wèn)題及策略研究
武漢市部分高職高專院校足球課的開展現(xiàn)狀及制約因素
鄉(xiāng)鎮(zhèn)農(nóng)業(yè)經(jīng)濟(jì)發(fā)展的現(xiàn)狀及優(yōu)化策略分析
企業(yè)重大風(fēng)險(xiǎn)確定及管理建議的研究論述
分組合作學(xué)習(xí)在小學(xué)語(yǔ)文高效課堂教學(xué)中的應(yīng)用探索
考試周刊(2016年76期)2016-10-09 08:49:15
主站蜘蛛池模板: 孕妇高潮太爽了在线观看免费| 无码精油按摩潮喷在线播放| 国产成人久久综合一区| 国产综合在线观看视频| 国产亚洲欧美在线中文bt天堂| 亚洲AⅤ综合在线欧美一区| jizz国产视频| 国产成人超碰无码| 毛片免费高清免费| 亚洲精品爱草草视频在线| 国产精品视频公开费视频| 欧美国产综合视频| 毛片免费网址| 91成人免费观看在线观看| 再看日本中文字幕在线观看| 久久久91人妻无码精品蜜桃HD | 亚洲免费播放| 亚洲人成影院在线观看| 国产一区二区三区在线观看免费| 都市激情亚洲综合久久| 少妇高潮惨叫久久久久久| 日韩精品亚洲人旧成在线| 欧美97色| 欧美日韩另类在线| 91热爆在线| 91青草视频| 亚洲欧美在线精品一区二区| 欧美不卡视频一区发布| 亚洲美女一级毛片| 精品视频在线观看你懂的一区| 日本高清免费一本在线观看| 国产欧美日韩综合一区在线播放| 精品综合久久久久久97超人| 狠狠色婷婷丁香综合久久韩国| 人妻中文字幕无码久久一区| 日韩精品无码免费专网站| 国内老司机精品视频在线播出| 成人免费视频一区| 亚洲精品777| 欧美成人精品高清在线下载| 色婷婷国产精品视频| 国产精品黄色片| 一本久道热中字伊人| 国产在线小视频| 国产一级α片| 国产av一码二码三码无码 | 免费人成在线观看成人片| 欧美激情第一欧美在线| 欧美一级专区免费大片| 国产第一页屁屁影院| 一级毛片网| 国产成人凹凸视频在线| 精品国产免费观看| 国产农村妇女精品一二区| 国产麻豆aⅴ精品无码| 亚洲成人网在线观看| 国产无码精品在线| 三上悠亚一区二区| 免费国产福利| 91黄色在线观看| 久久精品国产在热久久2019 | 国产人前露出系列视频| 国产精品妖精视频| 免费人成视网站在线不卡| 国内精品一区二区在线观看| 亚洲综合色吧| 亚洲一区二区约美女探花| 国产簧片免费在线播放| 一级全黄毛片| 国产精品自在在线午夜区app| 亚洲综合香蕉| 亚洲无码一区在线观看| 久久午夜影院| 亚洲福利视频一区二区| 国产欧美中文字幕| 99久久99这里只有免费的精品| 亚洲三级色| 国产十八禁在线观看免费| 国产主播喷水| 国产对白刺激真实精品91| 国产免费观看av大片的网站| 一级成人a做片免费|