苍井优一级毛片免费观看,成年网站在线观看,日本一二三不卡视频,日日天天人人夜夜九九

24小時(shí)論文定制熱線(xiàn)

熱門(mén)畢設:土木工程工程造價(jià)橋梁工程計算機javaasp機械機械手夾具單片機工廠(chǎng)供電采礦工程
您當前的位置:論文定制 > 畢業(yè)設計論文 >
快速導航
畢業(yè)論文定制
關(guān)于我們
我們是一家專(zhuān)業(yè)提供高質(zhì)量代做畢業(yè)設計的網(wǎng)站。2002年成立至今為眾多客戶(hù)提供大量畢業(yè)設計、論文定制等服務(wù),贏(yíng)得眾多客戶(hù)好評,因為專(zhuān)注,所以專(zhuān)業(yè)。寫(xiě)作老師大部分由全國211/958等高校的博士及碩士生設計,執筆,目前已為5000余位客戶(hù)解決了論文寫(xiě)作的難題。 秉承以用戶(hù)為中心,為用戶(hù)創(chuàng )造價(jià)值的理念,我站擁有無(wú)縫對接的售后服務(wù)體系,代做畢業(yè)設計完成后有專(zhuān)業(yè)的老師進(jìn)行一對一修改與完善,對有答辯需求的同學(xué)進(jìn)行一對一的輔導,為你順利畢業(yè)保駕護航
代做畢業(yè)設計
常見(jiàn)問(wèn)題

大規模網(wǎng)絡(luò )應用系統性能優(yōu)化設計

添加時(shí)間:2019/08/08 來(lái)源:西南石油大學(xué) 作者:樊紅林
本文采用Java Web應用程序分層管理的思想,著(zhù)力解決現有網(wǎng)絡(luò )應用系統實(shí)際項目開(kāi)發(fā)過(guò)程中,因采用傳統單層架構而存在的團隊活動(dòng)不協(xié)調、過(guò)程代碼存在冗余、系統伸縮性嚴重受限等問(wèn)題與不足。
以下為本篇論文正文:

摘要

  隨著(zhù)互聯(lián)網(wǎng)的髙速發(fā)展、電子商務(wù)的不斷興起,越來(lái)越多的人通過(guò)使用網(wǎng)絡(luò )平臺來(lái)實(shí)現購物、查詢(xún)基本信息等功能需求,隨著(zhù)訪(fǎng)問(wèn)用戶(hù)量的提離,網(wǎng)絡(luò )的平均響應時(shí)間就成了關(guān)鍵。傳統方式是使用數據庫連接池進(jìn)行網(wǎng)絡(luò )系統的優(yōu)化,但是存在優(yōu)化效率較低的問(wèn)題。.本論文通過(guò)引入二級緩存和全文檢索等優(yōu)化技術(shù),盡可能少地訪(fǎng)問(wèn)或不訪(fǎng)問(wèn)后臺數據庫,從而達到提高網(wǎng)絡(luò )應用系統性能的目的,W此改善原有網(wǎng)絡(luò )系統中存在的不足。

  本文采用Java Web應用程序分層管理的思想,著(zhù)力解決現有網(wǎng)絡(luò )應用系統實(shí)際項目開(kāi)發(fā)過(guò)程中,因采用傳統單層架構而存在的團隊活動(dòng)不協(xié)調、過(guò)程代碼存在冗余、系統伸縮性嚴重受限等問(wèn)題與不足。同時(shí)針對一般歡件開(kāi)發(fā)過(guò)程中因存在過(guò)多配置文件而導致整個(gè)軟件顯得糜腫的問(wèn)題,本文采用在Java代碼中使用注解的方式,以減少使用不必要的配置文件,從而達到優(yōu)化代碼的目的。應用系統中經(jīng)常會(huì )存在大量的用戶(hù)頻繁訪(fǎng)問(wèn)、但卻相對穩定、不常改變的數據信息,它們在大多數的設計中都是通過(guò)直接由數據庫進(jìn)行查詢(xún)的方式獲取,從而導致時(shí)間開(kāi)銷(xiāo)太大,嚴重影響系統性能與用戶(hù)體驗。為此,本文采用Hibernate對象-關(guān)系映射與Lucene全文檢索相結合的方式對系統中的常用數據信息建立索引,并將之存儲于本地索引庫文件或內存中,解決了何時(shí)在實(shí)體類(lèi)上使用索弓I。當用戶(hù)查詢(xún)時(shí),則可以直接通過(guò)索引獲得數據,從而提高響應時(shí)間。針對其它那些用戶(hù)經(jīng)常訪(fǎng)問(wèn)、但讀寫(xiě)比大于2:1的數據信息,本文采用EHCache結合Hibernate實(shí)現二級緩存的方式,將核也實(shí)體類(lèi)進(jìn)行緩存,進(jìn)而提高系統的數據訪(fǎng)問(wèn)速度,同時(shí)實(shí)現自惠義緩存清除策略。除此之外,本文還嘗試將Lucene全文檢索與EHCache二級緩存通過(guò)Spring整合起來(lái)并應用于系統設計中,以期達到較少訪(fǎng)問(wèn)或不直接訪(fǎng)問(wèn)數據庫的目的,進(jìn)一步提離網(wǎng)絡(luò )應用系統的響應時(shí)間。

  本文最后采用JMeter性能測試工具,對經(jīng)加入上述優(yōu)化方法所設許出的系統進(jìn)行了相關(guān)性能測試,并與未使用上述優(yōu)化方法的系統設計進(jìn)行了全面的性能對比,證明了論文中所提出的各種優(yōu)化方法與技術(shù)的有效性與可信性。

  關(guān)鍵詞:分層管理:網(wǎng)絡(luò )應用系統;Lucene; EHCache;性能優(yōu)化

Abstract

  With the rapid development of Internet and E-commerce's rise, more and more people begin to use the network platform to implement their needs. Therefore, the average response time becomes a key factor. Traditionally, using database connection pool optimizes network system that presents low efficiency. In order to access database less and less, this thesis introduces the secondary cache, full-text search and other optimization techniques that can improve performance of the original project that is insufficient in present network system.

  In this thesis, Java Web application hierarchical management ideas is used to solve the existing development problems in project. The traditional single-layer structure results in team inconsistent development, redundant procedure code that is severely limited by system scalability. At the same time, there are too many bloated software problems, and this thesis uses annotation to reduce unnecessary use of configuration files, so as to achieve the purpose of optimizing the code. Generally speaking, application systems have a large number of users who frequently access to relatively stable, infrequently changed data so that results in too much time that seriously affects the system's performance and the user's experience. In this thesis, using a combination of Hibernate ORM and Lucene full-text indexes important data and then stores data in the local database files or memories. When user quering, data can be obtained directly through the index file to improve response time. For other users who frequently visit data that reading-writing ratio is greater than 2: 1 use Hibernate to achieve second-level cache EHCache. In addition, in order to achieve the purpose of improve the response time of network applications, this thesis also attempts to integrate Lucene and EHCache through the Spring and then applies to system.

  Finally, using JMeter performance testing tool tests design of the system, and the system design does not use the above optimization methods comparing with optimized system. At last the result proves that system that has techniques is effectiveness and credibility.

  Key words:Hierarchical Management; Network Application; Lucene; EHCache; Performance Optimization

  所謂大規模網(wǎng)絡(luò )應用系統,常指那些用戶(hù)眾多、并發(fā)訪(fǎng)問(wèn)請求量大、系統可擴展性與可伸縮性要求較高的系統,例如淘寶、12306網(wǎng)站等等。隨著(zhù)全球范圍內互聯(lián)網(wǎng)經(jīng)濟的蓬勃發(fā)展及我國"互聯(lián)網(wǎng)+"戰略的發(fā)布,近年來(lái)我國大規模網(wǎng)絡(luò )應用系統的數量和其用戶(hù)數量都出現了井噴式的増長(cháng)。根據CNNICW《中國互聯(lián)網(wǎng)絡(luò )發(fā)展狀況統計》報告,截至2015年12月我國網(wǎng)民規模達6.88億,全年共計新増網(wǎng)民巧51萬(wàn)人,互聯(lián)網(wǎng)普及率為50.3%。隨著(zhù)用戶(hù)數量的増長(cháng),各形各色的網(wǎng)絡(luò )應用系統也相繼出現,并且規模越來(lái)越大,網(wǎng)絡(luò )并發(fā)訪(fǎng)問(wèn)量甚至呈指數倍地增長(cháng)。因此,系統的性能(如訪(fǎng)問(wèn)響應時(shí)間、吞吐量高低)將直接影響用戶(hù)的體驗好壞。這時(shí)各種優(yōu)化技術(shù)就變得極其重要,淘寶為代表的大數據流量處理的優(yōu)化機制,從正面說(shuō)明了提高網(wǎng)絡(luò )系統優(yōu)化的重要性;W中國鐵路客戶(hù)服務(wù)中也系統為代表的糟糕用戶(hù)體驗反饋,則從另一面說(shuō)明了如今的網(wǎng)絡(luò )應用系統對性能提出了更高的要求。網(wǎng)站在訪(fǎng)問(wèn)高峰期更會(huì )造成系統無(wú)法響應甚至造成整個(gè)系統雍痕,因此需要采取必要的優(yōu)化方式。

  目前,國內外在大規模網(wǎng)絡(luò )應用系統的性能優(yōu)化方面己有大量嘗試與實(shí)踐,大致可分為前端優(yōu)化技術(shù)和后端優(yōu)化技術(shù)。前者主要包括頁(yè)面靜態(tài)優(yōu)化、靜態(tài)化插件工具、動(dòng)態(tài)頁(yè)面直接靜態(tài)化等技術(shù);后者比較常見(jiàn)的方式是使用數據庫連接池、使用緩存、建立索引等。通過(guò)實(shí)際應用可發(fā)現,后端優(yōu)化的效果往往超過(guò)前端。因此,針對系統后端進(jìn)行優(yōu)化成為現今研究的主要途徑。宅米網(wǎng)CTO李智慧在《大型網(wǎng)站技術(shù)架構原理與案例分析》當中提出使用后端技術(shù)如緩存、索引在當今系統開(kāi)發(fā)中的優(yōu)越性。在實(shí)際開(kāi)發(fā)中,使用緩存W及建立索引也是后端優(yōu)化的比較常見(jiàn)的方式。企業(yè)實(shí)際應用項目開(kāi)發(fā)過(guò)程中的經(jīng)驗表明,它們對改善系統的性能有著(zhù)積極的作用,并且均有較多的開(kāi)發(fā)工具與開(kāi)發(fā)方法提供支持。

  傳統方式對后臺數據進(jìn)行查詢(xún),一般都是通過(guò)SQL語(yǔ)句訪(fǎng)問(wèn)數據庫進(jìn)行查詢(xún),造成用戶(hù)每次查詢(xún)數據都要訪(fǎng)問(wèn)整個(gè)數據庫,而且使用like關(guān)鍵字進(jìn)行模糊查詢(xún)的效率非常低,結果就是對整個(gè)網(wǎng)絡(luò )應用系統的性能產(chǎn)生了較大的影響。因此需要選擇專(zhuān)口的全文索引工具。在建立索引方面,目前最典型的一種工具是Lucene。它是Apache的一^t*開(kāi)源子項目,可W很好地與實(shí)際工程開(kāi)發(fā)項目相結合,因此越來(lái)越多的人開(kāi)始使用Lucene進(jìn)行項目開(kāi)發(fā)。Michael McCandless在Lucene虹Action的例子中充分證明了Lucene索引對項目性能提高的重要性。同時(shí)由于網(wǎng)站數據訪(fǎng)問(wèn)通常遵循二八定律,即80%的訪(fǎng)問(wèn)落在20%的數據上町因此使用Lucene把索引用在20%的數據上是有意義的,這樣能夠盡量減少對數據庫的訪(fǎng)問(wèn)。但是現有的項目使用索引,要么所有字段都加入索弓I,要么不使用索引進(jìn)行優(yōu)化,因此沒(méi)有具體使用索引的標準。

  一般情況下,每次獲取數據都要與數據庫建立連接、傳送數據、關(guān)巧連接等操作,這樣會(huì )消耗過(guò)多的資源,而且操作步驟過(guò)多也會(huì )增加時(shí)間,如果把需要的數據放在本地磁盤(pán)或者緩存當中,那么直接從中獲取數據的時(shí)間將會(huì )更短。網(wǎng)站性能優(yōu)化第一定律就是優(yōu)先考慮使用緩存優(yōu)化性能。因此,使用緩存是系統性能優(yōu)化的另一種重要技術(shù)。在此方面,目前也有較多的技術(shù),例如OSCache、EHCache、MemCached等。其中,OSCache提供了在現有JSP頁(yè)面之內實(shí)現快速內存緩沖的功能,但現今已經(jīng)不再處于維護狀態(tài),因此開(kāi)發(fā)人員對于其的選揮與使用也變得越來(lái)越少;MemCached是一個(gè)高性能的分布式內存對象緩存系統,用于動(dòng)態(tài)Web應用1^;1減輕數據庫負載。由于數據是保存在內存中的,因此顯然需要有足夠大的內存空間或者甚至需要搭建一個(gè)專(zhuān)口做內存的集群來(lái)保存數據,送樣造成硬件的成本大大的増加,故還普及程度還不高。EHCache是一個(gè)開(kāi)源的Java分布式緩存,具有簡(jiǎn)單、高性能、靈活等特點(diǎn)。由于Spring在3.1版本之后開(kāi)始支持EHCache,并且兩者有著(zhù)較好的融合,因此越來(lái)越多的人開(kāi)始選擇EHCache。因此使用Lucene全文檢索及EHCache成為了許多開(kāi)發(fā)人員選擇的對象。

  盡管Lucene、EHCache有很多人在用,但仍然有不足,主要表現在EHCache默認緩存算法(LRU)效率還可W繼續提高、如何把Lucene與EHCache結合起來(lái)實(shí)現共同優(yōu)化。因此,仍有必要繼續研究。

大規模網(wǎng)絡(luò )應用系統性能優(yōu)化設計:

使用自定義緩存清除策略査詢(xún)結果
使用自定義緩存清除策略査詢(xún)結果

使用LRU緩存策略查詢(xún)結果
使用LRU緩存策略查詢(xún)結果

請求線(xiàn)程組設置
請求線(xiàn)程組設置

Lucene和EHCache査詢(xún)結果圖
Lucene和EHCache査詢(xún)結果圖

EHCache和Lucene加入同步鎖后查詢(xún)結果
EHCache和Lucene加入同步鎖后查詢(xún)結果

800個(gè)線(xiàn)程請求
800個(gè)線(xiàn)程請求

1000個(gè)線(xiàn)程請求
1000個(gè)線(xiàn)程請求

目錄

  第一章 緒論
    1.1 研究背景及意義
    1.2 國內外研究概況
    1.3 論文的主要工作
    1.4 論文的組織結構
  第二章 相關(guān)技術(shù)研究與概述
    2.1 JAVA EE層次模型
    2.2 JAVA EE框架技術(shù)
    2.3 LUCENE全文索引
    2.4 緩存
    2.5 系統開(kāi)發(fā)環(huán)境和工具
    2.6 本章小結
  第三章 基于JAVA EE框架的網(wǎng)站架構優(yōu)化
    3.1 網(wǎng)站總體架構設計
    3.2 SSH2整合思路
      3.2.1 Struts2與Spring的整合原理
      3.2.2 Spring與Hibernate的整合原理
      3.2.3 注解配置
    3.3 SSH2框架的分層實(shí)現
      3.3.1 配置Struts 2
      3.3.2 配置 Hibernate 4.19
      3.3.3 配置Spring 3.2
      3.3.4 Spring對Struts2的整合對Hibernate的整合
      3.3.5 S州ng對Hibernate
    3.4 分層架構實(shí)現組織圖
    3.5 系統應用
    3.6 本章小結
  第四章 基于索引優(yōu)化的設計與實(shí)現
    4.1 全文檢索
    4.2 LUCENE全文檢索與數據庫模糊查詢(xún)
    4.3 HIBERNATE SEARCH整合LUCENE原理
    4.4 HIBERNATE SEARCH結合LUCENE應用實(shí)現
      4.4.1 建立索引
      4.4.2 檢索器的實(shí)現
      4.4.3 應用實(shí)現
    4.5 增量索引
    4.6 JMETER測試
      4.6.1 試環(huán)境
      4.6.2 測試分析
    4.7 本章小結
  第五章 基于緩存優(yōu)化的設計與實(shí)現
    5.1 EHCACHE緩存算法
    5.2 自定義緩存清除策略思路
    5.3 基于EHCACHE緩存優(yōu)化與實(shí)現
      5.3.1 配置EHCache二級緩存
      5.3.2 改進(jìn)的緩存替換策略實(shí)現
      5.3.3 自定義EHCache二級緩存測試
    5.4 同時(shí)實(shí)現LUCENE索引和EHCACHE二級緩存優(yōu)化
    5.5 并發(fā)事務(wù)處理
    5.6 J1VIETER性能測試
      5.6.1 測試環(huán)境
      5.6.2 性能分析
    5.7 本章小結
  第六章 總結與展望
    6.1 論文總結
    6.2 工作展望
  參考文獻
  致謝
  攻讀學(xué)位期間的研究成果

(如您需要查看本篇畢業(yè)設計全文,請您聯(lián)系客服索取)

相關(guān)內容
相關(guān)標簽:Java畢業(yè)設計
好優(yōu)論文定制中心主要為您提供代做畢業(yè)設計及各專(zhuān)業(yè)畢業(yè)論文寫(xiě)作輔導服務(wù)。 網(wǎng)站地圖
所有論文、資料均源于網(wǎng)上的共享資源以及一些期刊雜志,所有論文僅免費供網(wǎng)友間相互學(xué)習交流之用,請特別注意勿做其他非法用途。
如有侵犯您的版權或其他有損您利益的行為,請聯(lián)系指出,論文定制中心會(huì )立即進(jìn)行改正或刪除有關(guān)內容!