Web應(yīng)用程序的性能優(yōu)化研究
發(fā)布時(shí)間:2018-03-16 16:13
本文選題:性能優(yōu)化 切入點(diǎn):PageLet 出處:《電子科技大學(xué)》2014年碩士論文 論文類型:學(xué)位論文
【摘要】:Internet的快速發(fā)展,基于Web的應(yīng)用與人們的生活和工作越來越緊密聯(lián)系在一起。很多傳統(tǒng)的信息系統(tǒng)被移植到互聯(lián)網(wǎng)上,微博、電子商務(wù)、社交網(wǎng)站等新型的應(yīng)用模式也在層出不窮。由于Web具有互動(dòng)性、便捷性、易用性等特點(diǎn),受到許多企業(yè)和個(gè)人的喜歡。性能是一個(gè)Web應(yīng)用程序成功的一個(gè)決定性要素。因此,Web應(yīng)用程序的性能優(yōu)化成為一個(gè)重要的研究問題。通常,當(dāng)我們談?wù)撘粋(gè)Web應(yīng)用程序的性能的時(shí)候,想到的都是優(yōu)化后臺(tái)服務(wù)器性能,前端性能優(yōu)化往往被忽略。目前,Web應(yīng)用程序的后端性能優(yōu)化技術(shù)已經(jīng)非常的成熟,比如負(fù)載均衡、反向代理緩存、分布式緩存、共享文件系統(tǒng)、數(shù)據(jù)庫性能優(yōu)化等等。但當(dāng)基于Web 2.0技術(shù)Web應(yīng)用興起的時(shí)候,一個(gè)普遍的現(xiàn)象是,在現(xiàn)實(shí)的應(yīng)用情況中,終端用戶感知這個(gè)應(yīng)用的響應(yīng)十分緩慢,而在系統(tǒng)服務(wù)器方面,卻查找不到任何一個(gè)資源瓶頸。Web2.0時(shí)代的到來,一個(gè)頁面包含的內(nèi)容越來越多、越來越豐富。獲取一個(gè)頁面,HTTP請(qǐng)求平均數(shù)超過90個(gè),頁面的平均大小超過1.5M,平均需要向15個(gè)域名發(fā)送請(qǐng)求[1]。因此,Web應(yīng)用程序的前端性能優(yōu)化不能再被忽視。首先,本文研究了瀏覽器響應(yīng)時(shí)間的計(jì)算模型,還分析了HTTP協(xié)議。同時(shí),分析及提出以用戶感知時(shí)延作為性能衡量的指標(biāo),為后續(xù)的性能方案的驗(yàn)證作為衡量標(biāo)準(zhǔn)。接著,根據(jù)HTTP請(qǐng)求數(shù)、渲染速度、緩存機(jī)制等因素的分析,提出了減少HTTP請(qǐng)求、加快渲染速度、設(shè)置緩存等優(yōu)化方案,并給出了具體的實(shí)施及驗(yàn)證,證實(shí)這些優(yōu)化策略確實(shí)可以達(dá)到優(yōu)化性能的目的。再者,本文著重研究了Web請(qǐng)求處理流程存在的問題。傳統(tǒng)的Web請(qǐng)求處理方式存在用戶體驗(yàn)不好且性能差,而目前廣泛使用的AJAX技術(shù),雖然提升了性能和用戶體驗(yàn),卻增加了大量請(qǐng)求數(shù),造成了服務(wù)器負(fù)擔(dān)過重。因此,本文提出了Web請(qǐng)求流水線化的解決方案。請(qǐng)求流水線化就是要利用Browser和Web Server之間的并行性的特點(diǎn):首先,將頁面劃分成多個(gè)可調(diào)用的Pagelets小塊;其次,在Browser和Web服務(wù)器之間建立管道;最后,在不同的時(shí)期,操作它們的運(yùn)行。通常,流水線化使用多線程的。在這里,提出了請(qǐng)求流水線化的單線程實(shí)現(xiàn)方式及Page Let的優(yōu)先級(jí)。通過實(shí)驗(yàn)分析,證實(shí)了多線程流水線方式在性能方面確實(shí)比AJAX性能方面要好,且對(duì)服務(wù)器負(fù)擔(dān)也相對(duì)較輕。但是,在面對(duì)大量并發(fā)請(qǐng)求時(shí),它同樣會(huì)造成性能的嚴(yán)重下降;而單線程的實(shí)現(xiàn)方式,相對(duì)而言性能影響較小,并且單線程的實(shí)現(xiàn)方式同樣可以獲取良好的用戶體驗(yàn)。因此,提出了對(duì)Web請(qǐng)求流水線化的改進(jìn)。即通過服務(wù)器增加一層調(diào)度,在正常情況下,調(diào)度多線程的實(shí)現(xiàn)模塊;在服務(wù)器過載的情況下,調(diào)度單線程的實(shí)現(xiàn)模塊。同時(shí),通過了實(shí)驗(yàn)分析,這樣確實(shí)可以獲得良好的性能改善。
[Abstract]:With the rapid development of Internet, the application based on Web is more and more closely related to people's life and work. Many traditional information systems have been transplanted to the Internet, Weibo, e-commerce, Social networking sites and other new application models are also emerging. Because of the interactive, convenient, easy to use and other characteristics of Web, Performance is a decisive factor in the success of a Web application. Therefore, performance optimization for web applications has become an important research issue. When we talk about the performance of a Web application, it's all about optimizing back server performance, and front-end performance optimization is often overlooked. Reverse proxy caching, distributed caching, shared file systems, database performance optimization, etc. But when Web applications based on Web 2.0 technology rose, a common phenomenon was, in real applications, The end user is aware of the slow response of the application, but on the system server side, but can not find any resource bottleneck. Web 2.0 era, a page contains more and more content, The average number of HTTP requests to get a page is over 90, the average page size is more than 1.5m, and the average request needs to be sent to 15 domain names [1]. Therefore, the front-end performance optimization of Web applications can no longer be ignored. In this paper, the computing model of browser response time is studied, and the HTTP protocol is also analyzed. According to the analysis of HTTP request number, rendering speed, cache mechanism and other factors, the optimization scheme of reducing HTTP request, speeding up rendering speed and setting cache is put forward, and the concrete implementation and verification are given. It is proved that these optimization strategies can achieve the purpose of optimizing performance. Furthermore, this paper focuses on the problems existing in the process of Web request processing. Traditional Web request processing methods have poor user experience and poor performance. However, the AJAX technology, which is widely used at present, has increased the number of requests and caused the server to be overburdened, although it has improved the performance and user experience. This paper presents a solution to Web's request for pipeline. The purpose of this paper is to take advantage of the parallelism between Browser and Web Server: first, to divide the page into several callable Pagelets chunks; secondly, to make use of the parallelism between Browser and Web Server. Establish a pipeline between the Browser and Web servers; finally, at different times, manipulate their operations. Usually pipeline uses multithreading. Here, In this paper, a single thread implementation method for pipeline and the priority of Page Let are put forward. The experimental results show that the multithreading pipeline method is better than AJAX in performance, and the burden on the server is relatively light. In the face of a large number of concurrent requests, it also results in a serious decline in performance; the implementation of a single thread has relatively little performance impact, and the implementation of a single thread can also provide a good user experience. In this paper, the improvement of Web request pipeline is put forward, that is, adding a layer of scheduling to the server, scheduling the implementation module of multithread under normal condition, scheduling the implementation module of single thread in the case of server overload, at the same time, Through the experimental analysis, we can get good performance improvement.
【學(xué)位授予單位】:電子科技大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2014
【分類號(hào)】:TP393.09
【參考文獻(xiàn)】
相關(guān)博士學(xué)位論文 前1條
1 王紅斌;Web服務(wù)器集群系統(tǒng)的自適應(yīng)負(fù)載均衡調(diào)度策略研究[D];吉林大學(xué);2013年
相關(guān)碩士學(xué)位論文 前1條
1 朱聚豹;移動(dòng)Web前端性能與圖片優(yōu)化的研究[D];華中師范大學(xué);2013年
,本文編號(hào):1620673
本文鏈接:http://sikaile.net/guanlilunwen/ydhl/1620673.html
最近更新
教材專著