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

        ?

        淺析網(wǎng)站性能優(yōu)化技術(shù)

        2014-09-26 03:47:58李寶林
        電子設(shè)計(jì)工程 2014年2期
        關(guān)鍵詞:數(shù)據(jù)庫(kù)優(yōu)化信息

        李寶林

        (西華師范大學(xué) 四川 南充 637000)

        隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展和用戶(hù)對(duì)服務(wù)質(zhì)量需求的提高,網(wǎng)站在性能方面的要求越來(lái)越高,如何較好的解決這一問(wèn)題是本文的關(guān)鍵,文中從分析HTTP請(qǐng)求流入手,然后從前端和后端性能優(yōu)化技術(shù)分別進(jìn)行詳細(xì)的分析和描述,并針對(duì)不同的情況給出了相應(yīng)的建議。

        1 HTTP請(qǐng)求流程分析

        HTTP屬于TCP/IP模型中的應(yīng)用層協(xié)議,而兩個(gè)應(yīng)用程序(我們這里指的就是瀏覽器與服務(wù)器)之間要進(jìn)行互相通信,首先得建立TCP連接,然后瀏覽器 才能向服務(wù)器發(fā)送請(qǐng)求信息,服務(wù)器在接受到請(qǐng)求信息后,返回相應(yīng)的應(yīng)答信息,瀏覽器接收到來(lái)自服務(wù)器的應(yīng)答信息后,對(duì)這些數(shù)據(jù)進(jìn)行解釋執(zhí)行。詳情如圖1所示。

        根據(jù)Http請(qǐng)求過(guò)程可知,當(dāng)用戶(hù)或搜索引擎向一個(gè)網(wǎng)站服務(wù)器發(fā)出網(wǎng)頁(yè)瀏覽請(qǐng)求時(shí),該服務(wù)器首先將通過(guò)域名服務(wù)器(DNS)將域名轉(zhuǎn)換為網(wǎng)站的 IP地址,然后返回給客戶(hù);緊接著打開(kāi)一個(gè)該IP套接口連接,并記下通過(guò)該套接口的一個(gè)HTTP數(shù)據(jù)流;然后再?gòu)腤EB服務(wù)器接收一個(gè)響應(yīng)請(qǐng)求的HTTP數(shù)據(jù)流。該數(shù)據(jù)流包含狀態(tài)碼,狀態(tài)碼的值由HTTP協(xié)議所決定。這里所說(shuō)的 “HTTP數(shù)據(jù)流”信息也叫“頭信息(Header)”。頭信息中包括了日期,服務(wù)器類(lèi)型,通常還會(huì)有一條“200 OK”信息。如果一切良好,那么網(wǎng)絡(luò)服務(wù)器就會(huì)將“200 OK”信息以及請(qǐng)求頁(yè)面發(fā)送出去。如果網(wǎng)站在這時(shí)候已經(jīng)建立了重定向,那么服務(wù)器就會(huì)在頭信息中包含一個(gè)“302 Moved Temporarily”或“301 Moved Permanent”之類(lèi)的響應(yīng)信息。根據(jù)上述流程可知要做到網(wǎng)站的基本性能優(yōu)化,必須從前端和后端兩個(gè)方面優(yōu)化才能解決問(wèn)題。

        圖1 Http請(qǐng)求過(guò)程示意圖Fig.1 The schematic diagram of HTTP request process

        1.1 前端性能優(yōu)化技術(shù)

        1)前端負(fù)載均衡,通過(guò)DNS的負(fù)載均衡器可以把用戶(hù)的訪問(wèn)均勻地分散在多個(gè)Web服務(wù)器上。這樣可以減少Web服務(wù)器的請(qǐng)求負(fù)載。根據(jù)http的請(qǐng)求是短作業(yè)的特點(diǎn)。故可以采用簡(jiǎn)單的負(fù)載均衡器來(lái)完成這一功能。

        2)減少前端鏈接數(shù),目前瀏覽器都是并發(fā)請(qǐng)求,一般的網(wǎng)站,特別是訪問(wèn)量很大的網(wǎng)站,要求主頁(yè)包含盡量少的HTTP鏈接,頁(yè)面包含盡量少的HTTP請(qǐng)求。如何做到這一點(diǎn),這就要求我們?cè)O(shè)計(jì)人員和程序編寫(xiě)人員在寫(xiě)程序是充分考慮到環(huán)節(jié)。另外就是走到減少網(wǎng)頁(yè)大小,增加帶寬。假設(shè)一個(gè)網(wǎng)站的首頁(yè)需要下載的總文件大小約在500 kB左右,如果你訪問(wèn)過(guò)了,瀏覽器會(huì)幫你緩存很大一部分,再次訪問(wèn)就只需下載幾十K的文件。而訪問(wèn)量也大,節(jié)約的帶寬越多。

        3)前端頁(yè)面盡量靜態(tài)化,盡量做到直接從內(nèi)存中把文件讀出來(lái)返回,這樣可以減少昂貴的磁盤(pán)I/O。

        4)優(yōu)化查詢(xún)很多人查詢(xún)都是在查一樣的,完全可以用反向代理合并這些并發(fā)的相同的查詢(xún)。這樣的技術(shù)主要用查詢(xún)結(jié)果緩存來(lái)實(shí)現(xiàn),第一次查詢(xún)走數(shù)據(jù)庫(kù)獲得數(shù)據(jù),并把 數(shù)據(jù)放到緩存,后面的查詢(xún)統(tǒng)統(tǒng)直接訪問(wèn)高速緩存。為每個(gè)查詢(xún)做Hash,使用NoSQL的技術(shù)可以完成這個(gè)優(yōu)化。

        5)緩存問(wèn)題:緩存可以用來(lái)緩存動(dòng)態(tài)頁(yè)面,也可以用來(lái)緩存查詢(xún)的數(shù)據(jù)。緩存通常有那么幾個(gè)問(wèn)題:1)緩存的更新。也叫緩存和數(shù)據(jù)庫(kù)的同步。有這么幾種方法,一是緩存time out,讓緩存失效,重查,二是,由后端通知更新,一量后端發(fā)生變化,通知前端更新。前者實(shí)現(xiàn)起來(lái)比較簡(jiǎn)單,但實(shí)時(shí)性不高,后者實(shí)現(xiàn)起來(lái)比較復(fù)雜 ,但實(shí)時(shí)性高。2)把一些不活躍的數(shù)據(jù)換出內(nèi)存,比如采取一些相應(yīng)的FIFO、LRU、LFU換頁(yè)算法進(jìn)行換頁(yè)。3)緩存的重建和持久化。緩存的持久化也嚴(yán)重的影響到網(wǎng)站的基本性能。

        1.2 后端性能優(yōu)化技術(shù)

        網(wǎng)站性能優(yōu)化僅僅靠前端優(yōu)化是不夠的,還需要后臺(tái)做大量的工作,比如數(shù)據(jù)的冗余、鏡像、分區(qū)和檢索等技術(shù)的處理。

        1)數(shù)據(jù)冗余,如何對(duì)數(shù)據(jù)庫(kù)的數(shù)據(jù)冗余進(jìn)行處理,盡量減少表之間的連接開(kāi)銷(xiāo),但也要主要到數(shù)據(jù)之間的開(kāi)銷(xiāo)問(wèn)題。比如部分場(chǎng)合采取NoSQL來(lái)處理數(shù)據(jù)。但這一切要根據(jù)不同的業(yè)務(wù)進(jìn)行分析和處理。

        2)數(shù)據(jù)鏡像,幾乎所有主流的數(shù)據(jù)庫(kù)都支持鏡像。數(shù)據(jù)庫(kù)的鏡像最大便利就是做負(fù)載均衡。把一臺(tái)數(shù)據(jù)庫(kù)的負(fù)載均分到多臺(tái)上,保證了數(shù)據(jù)一致性。同時(shí)也保證了高可用性,當(dāng)一臺(tái)服務(wù)器出現(xiàn)故障時(shí),還可以在另一條服務(wù)器上運(yùn)行。然而如何保證數(shù)據(jù)鏡像的數(shù)據(jù)一致性問(wèn)題,必須采取一些相應(yīng)的手段,比如在單條數(shù)據(jù)上對(duì)進(jìn)行數(shù)據(jù)分區(qū),如把某類(lèi)數(shù)據(jù)均分到不同的服務(wù)器上,假設(shè)某類(lèi)數(shù)據(jù)達(dá)10萬(wàn)條,我們可以設(shè)置10臺(tái)服務(wù)器,每臺(tái)服務(wù)器上均攤1萬(wàn)條,從而達(dá)到提高網(wǎng)站性能的效果。

        3)數(shù)據(jù)分區(qū),數(shù)據(jù)鏡像對(duì)海量數(shù)據(jù)沒(méi)有好的解決辦法,而通常對(duì)于一個(gè)表中包含大量數(shù)據(jù)的情況下,采取數(shù)據(jù)分區(qū)的方式來(lái)進(jìn)行處理。通常采取如下處理辦法:①對(duì)數(shù)據(jù)實(shí)行邏輯分類(lèi)。比如按照時(shí)間維度、空間維度等進(jìn)行處理,目的是把一張表拆成多張字表,這樣就可以達(dá)到分擔(dān)負(fù)載的目的。②把數(shù)據(jù)按字段分,按照用途進(jìn)行劃分,把一張分成幾張表。③還可以根據(jù)需要對(duì)大的數(shù)據(jù)表進(jìn)行平準(zhǔn)劃分,或者負(fù)載均衡。不同的方法有不同的優(yōu)缺點(diǎn),具體情況具體對(duì)待。

        4)后端系統(tǒng)負(fù)載均衡,對(duì)于訪問(wèn)量較大的數(shù)據(jù),通常采用一個(gè)任務(wù)分配系統(tǒng)來(lái)監(jiān)控各個(gè)服務(wù)器的負(fù)載情況。比如服務(wù)器什么時(shí)候忙、CPU使用率高、磁盤(pán)I/O及內(nèi)存使用情況等因素都要進(jìn)行綜合考慮,然后把這些信息要發(fā)送到任務(wù)分配器上,由任務(wù)分配器挑選一臺(tái)負(fù)載最小的服務(wù)器來(lái)處理。任務(wù)分配服務(wù)器上需要對(duì)任務(wù)隊(duì)列,不能丟任務(wù)啊,所以還需要持久化。并且可以以批量的方式把任務(wù)分配給計(jì)算服務(wù)器。

        5)異步、throttle和 批量處理:異步、throttle(節(jié)流閥) 和批量處理都需要對(duì)并發(fā)請(qǐng)求數(shù)做隊(duì)列處理的。異步處理就是按照不同步的程序處理問(wèn)題,異步處理與同步處理是對(duì)立的,而產(chǎn)生它們的是多線程或者多進(jìn)程。異步處理的好處就是提高設(shè)備使用率;throttle技術(shù)是網(wǎng)絡(luò)流量的一種保護(hù)機(jī)制,其目的是防止系統(tǒng)流量過(guò)大。批量處理技術(shù),是把基本相同的請(qǐng)求批量處理。批量處理一般設(shè)置兩個(gè)閥值,作業(yè)量和timeout,當(dāng)滿(mǎn)足其中一個(gè)條件時(shí)就會(huì)提交處理。

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

        網(wǎng)站性能優(yōu)化技術(shù)是一項(xiàng)細(xì)膩而又繁瑣的工作,如何才能讓網(wǎng)站達(dá)到最大的性能,必須從前端和后端兩個(gè)方面著手,在每個(gè)細(xì)節(jié)上都盡量做到精簡(jiǎn),優(yōu)化。然HTTP請(qǐng)求流在技術(shù)處理上還有很多未注意到的細(xì)節(jié),這就要求具體的操作人員在實(shí)際操作中進(jìn)行相應(yīng)優(yōu)化??傊?,從前端和后端兩個(gè)方面入手,是對(duì)網(wǎng)站性能優(yōu)化必須采取的重要策略。

        [1]Cardellini V,Casalicchio E,Colajanni M,et al.The state of the art in locally distributed Web-server systems[J].ACM Computing Surveys,2002,34(2):263-311.

        [2]萬(wàn)常選,鄧松,劉喜平,等.Web數(shù)據(jù)源選擇技術(shù)[J].軟件學(xué)報(bào),2013,24(4):781-797.

        WANG Chang-xuan,DENG Song,LIU Xi-ping,et al.Web data source selection technologies[J].Journal of Software,2013,24(4):781-797.

        [3]周鵬,周海鷹,左德承,等.基于Spirent的Web應(yīng)用性能評(píng)測(cè)[J].計(jì)算機(jī)工程,2012,38(24):57-61.

        ZHOU Peng,ZHOU Hai-ying,ZUO De-cheng,et al.Spirentbased Web application performance evaluation[J].Journal of Computer Engineer,2012,38(24):57-61.

        [4]郝秀蕊,安 虹,李小強(qiáng),等.流處理器的相變存儲(chǔ)器主存性能優(yōu)化[J].計(jì)算機(jī)工程,2011,37(24):251-253.

        HAO Xiu-rui,AN Hong,LI Xiao-qiang,et al.Main memory performance optimization of phase change RAM in stream processor[J].Journal of Computer Enginee,2011,37 (24):251-253.

        [5]馬曉軒,林學(xué)練.WEB服務(wù)性能優(yōu)化的研究[J].計(jì)算機(jī)工程與應(yīng)用,2005(8):19-22.

        MA Xiao-xuan,LIN Xue-lian.Research on web services performance optimization[J].ComputerEngineering and Application,2005(8):19-22.

        [6]劉磊,倪宏,嵇智輝,等.基于HTTP請(qǐng)求的ORM性能優(yōu)化研究[J].計(jì)算機(jī)工程,2009,35(8):38-39.

        LIU Lei,NI Hong,JI Zhi-hui,et al.Research on ORM performance optimization based on HTTP request[J].Journal of Computer Enginee,2009,35(8):38-39.

        猜你喜歡
        數(shù)據(jù)庫(kù)優(yōu)化信息
        超限高層建筑結(jié)構(gòu)設(shè)計(jì)與優(yōu)化思考
        民用建筑防煙排煙設(shè)計(jì)優(yōu)化探討
        關(guān)于優(yōu)化消防安全告知承諾的一些思考
        一道優(yōu)化題的幾何解法
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        數(shù)據(jù)庫(kù)
        展會(huì)信息
        在线视频亚洲一区二区三区 | 亚洲av综合色区无码一二三区| 国产精品久久码一区二区| 性感人妻中文字幕在线| 亚洲国产中文字幕无线乱码| 成人精品视频一区二区| 亚洲人成无码网www| 高跟丝袜一区二区三区| 中国亚洲av第一精品| 7777色鬼xxxx欧美色妇| 四虎影视永久在线精品| 中文字幕高清无码不卡在线| 成av人大片免费看的网站| 免费无码av片在线观看播放| 精品一区二区三区无码视频| 成人免费丝袜美腿视频| 一区二区在线观看视频高清| 色妞色视频一区二区三区四区 | 国产成人综合久久大片| 亚洲日韩中文字幕在线播放 | 久久亚洲宅男天堂网址| 久久精品国产99久久久| 又色又爽又黄又硬的视频免费观看| 国产精品国产三级国产av创| 亚洲长腿丝袜中文字幕| 爱情岛论坛亚洲永久入口口| 亚洲精品夜夜夜| 亚洲综合精品在线观看中文字幕| 少妇下面好爽好紧好湿一区二区| 99在线精品免费视频九九视| 国产亚洲女在线线精品| 蜜桃视频一区视频二区| 亚洲av无码乱码在线观看富二代| 性一交一乱一伦| 亚洲一码二码在线观看| 91露脸半推半就老熟妇| 99久久久精品免费观看国产| 无码高清视频在线播放十区| 毛片在线播放亚洲免费中文网| 三年片大全在线观看免费观看大全| 国产人在线成免费视频麻豆|