◆陳 曦
高性能網(wǎng)站構(gòu)建的關(guān)鍵技術(shù)分析
◆陳 曦
(海軍大連艦艇學(xué)院 遼寧 116018)
如今,互聯(lián)網(wǎng)技術(shù)的發(fā)展為人們的生活提供了非常便利的環(huán)境,互聯(lián)網(wǎng)中各種各樣的網(wǎng)站也為人們提供了很多信息。本文分析了影響網(wǎng)站性能的各種因素和構(gòu)建高性能網(wǎng)站的關(guān)鍵性技術(shù),對高性能網(wǎng)站滿足什么樣的社會需求進(jìn)行具體分析。講述建構(gòu)高性能網(wǎng)站的原則和過程,以及在建構(gòu)高性能網(wǎng)站時需要注意的方面,在服務(wù)器對信息的數(shù)據(jù)處理效率方面,分析服務(wù)器系統(tǒng)的選擇等因素。
高性能網(wǎng)站;網(wǎng)站構(gòu)建;關(guān)鍵技術(shù)
互聯(lián)網(wǎng)從20世紀(jì)末就開始高速發(fā)展,如今已經(jīng)深入到了人們生活的方方面面,互聯(lián)網(wǎng)為我們的生活帶來了非常大的便利。網(wǎng)站作為互聯(lián)網(wǎng)的一個非常重要的部分,它在為人們提供數(shù)據(jù)信息的同時也在社會服務(wù)上發(fā)揮著巨大作用,網(wǎng)站是社交和電子商務(wù)的中心。高性能網(wǎng)站的構(gòu)建就是為了保障網(wǎng)站的運行質(zhì)量,同樣,這也是網(wǎng)站開發(fā)者和網(wǎng)站用戶共同的愿望。網(wǎng)站的構(gòu)建需要滿足用戶的需求,在用戶需求的基礎(chǔ)上去進(jìn)行構(gòu)建,在互聯(lián)網(wǎng)不斷的發(fā)展過程中,網(wǎng)站的構(gòu)建技術(shù)一直在發(fā)展進(jìn)步中。
當(dāng)今,社會的每個角落都存在網(wǎng)站的使用,比如商業(yè)場所、教育場所等,這些地方幾乎每天都會使用網(wǎng)站,因為網(wǎng)站能夠給他們提供一些必要的信息。高性能網(wǎng)站的構(gòu)建在社會中占有非常重要的地位,隨著網(wǎng)站的使用率增加,社會對網(wǎng)站的需求也越來越高,而高性能網(wǎng)站的構(gòu)建就需要根據(jù)社會的需求去解決實際問題。
信息時代,人們的生活發(fā)生了巨大的改變,信息技術(shù)融入社會中的各個領(lǐng)域中。通過對信息技術(shù)的使用能夠使人們從復(fù)雜的生活方式中脫離出來,每天的都在高效率中進(jìn)行。高性能網(wǎng)站的構(gòu)建能夠解決社會中很多復(fù)雜的事情,高性能網(wǎng)站能夠節(jié)省人們的時間,讓復(fù)雜的事情變得簡單。
互聯(lián)網(wǎng)技術(shù)發(fā)展的越迅速就會遇到越多的問題,其中網(wǎng)站安全問題是最為重要的,網(wǎng)站安全問題影響了網(wǎng)站用戶的利益。高性能網(wǎng)站很大程度上是為了解決網(wǎng)站安全問題的,在運行的質(zhì)量上和安全上要比一般網(wǎng)站更加穩(wěn)定。在實際的社會生活中,高性能網(wǎng)站不僅需要去滿足人們的各種需求,還需要在經(jīng)營成本上努力降低,利用低成本去實現(xiàn)高性能。
高性能網(wǎng)站的一個最大的特點就是它基于現(xiàn)實人們需求所構(gòu)建的,從網(wǎng)站用戶的角度上去看網(wǎng)站性能,他們能夠直觀地感受到網(wǎng)站運行速度的快慢,速度是高性能網(wǎng)站需要解決的一個非?,F(xiàn)實的問題。不同計算機(jī)之間的性能差異、不同瀏覽器之間的差異、不同網(wǎng)絡(luò)運營商之間的差異都會影響到用戶對網(wǎng)站運行的體驗。高性能網(wǎng)站在構(gòu)建的過程中具有非常強(qiáng)的現(xiàn)實性,它解決的是用戶的實際問題,是從網(wǎng)站用戶的角度去進(jìn)行構(gòu)建的。
高性能網(wǎng)站的預(yù)見性主要體現(xiàn)在他對用戶在使用過程中可能會遇到的問題或者是可能瀏覽的內(nèi)容進(jìn)行預(yù)測。在用戶使用網(wǎng)站的過程中,針對某一個內(nèi)容,用戶會從這一個內(nèi)容去延伸到另外一些內(nèi)容,高性能網(wǎng)站開發(fā)者都需要事前設(shè)定好。預(yù)見性是高性能網(wǎng)站在構(gòu)建過程中最重要的一個部分,它能夠充分的滿足用戶的需求。
高性能網(wǎng)站的數(shù)據(jù)儲存方式需要具有多樣性,隨著互聯(lián)網(wǎng)的高速發(fā)展,各種各樣的數(shù)據(jù)都出現(xiàn)了,為了能夠適應(yīng)每一個數(shù)據(jù)的格式類型,高性能網(wǎng)站需要在數(shù)據(jù)儲存方式上進(jìn)行大量投入,讓網(wǎng)站對數(shù)據(jù)的兼容性大大增加,防止用戶在數(shù)據(jù)儲存上遇見不必要的麻煩。
高性能網(wǎng)站在建構(gòu)過程中需要根據(jù)社會中人群類別進(jìn)行調(diào)查,對不同類別的人群設(shè)計不同的瀏覽方式,目的就是為了盡可能地去滿足所有人群。人性化的瀏覽方式也是提供優(yōu)質(zhì)服務(wù)的一個必要手段,在高性能網(wǎng)站的構(gòu)建過程中需要對網(wǎng)站用戶進(jìn)行全面調(diào)查。
這里的數(shù)據(jù)傳輸主要是指數(shù)據(jù)傳輸時間,也就是從網(wǎng)站中存儲的介質(zhì)中去獲取數(shù)據(jù)然后在發(fā)送到網(wǎng)站用戶瀏覽器的時間。決定效率的一個關(guān)鍵因素就是時間,為了縮短數(shù)據(jù)傳輸時間,需要在網(wǎng)絡(luò)速度保持穩(wěn)定的前提下將數(shù)據(jù)源盡量存儲到離網(wǎng)站用戶最近的節(jié)點上,就像CDN一樣,在這個前提之下,還需要將數(shù)據(jù)放在網(wǎng)站用戶最容易獲取的地方,比如內(nèi)存,在獲取方式上也需要進(jìn)行改變,使用緩存能夠大大提高網(wǎng)站用戶的查找效率。
影響服務(wù)器工作效率的因素有以下幾點:1)軟件的選擇;2)框架的選擇;3)負(fù)載均衡;4)并發(fā)的優(yōu)化;5)分布式文件系統(tǒng);6)分布式計算等。對于大型網(wǎng)站來說,監(jiān)控是必不可少的一部分。高性能網(wǎng)站要想能夠不間斷地為用戶提供優(yōu)質(zhì)服務(wù)就需要隨時掌握用戶需求,利用監(jiān)控技術(shù)去熟悉網(wǎng)站站點性能的變化,尋找網(wǎng)站系統(tǒng)的瓶頸,從而去進(jìn)行優(yōu)化,在這個對服務(wù)器不斷優(yōu)化的過程中能夠不斷的滿足用戶需求。此外,通過對服務(wù)器不斷進(jìn)行優(yōu)化,可達(dá)到對網(wǎng)站運轉(zhuǎn)效率進(jìn)行提升的效果,促使網(wǎng)站更加能夠符合使用者的實際需求。
目前,關(guān)系型數(shù)據(jù)庫是主流,在網(wǎng)站規(guī)模不斷擴(kuò)大的同時,對數(shù)據(jù)庫的要求也在不斷地提高,具體有以下幾方面:(1)對數(shù)據(jù)高并發(fā)讀寫的需求;(2)對大量數(shù)據(jù)存儲效率的需求;(3)對數(shù)據(jù)庫高擴(kuò)展性的需求。這些都是數(shù)據(jù)庫的主要特性,但是在實際的社會需求中,這些方面卻都沒有被廣泛使用。而非關(guān)系型數(shù)據(jù)庫,如MongoDB能夠非常有效的解決擴(kuò)展問題,因為在MongoDB中的集合不存在模式,更沒有模式的變更,也就是說每個集合之間不是相互制約的,在實際的操作中不需要去執(zhí)行復(fù)雜的操作,它為用戶帶來的好處就是MongoDB很容易支持分布式部署。
MongoDB集群包括固定的數(shù)量分片、mongos(路由處理)、config server、clients。其中分片一般都是建立在副本集之上的,而副本集就只有一組mongod構(gòu)成,在mongod中的數(shù)據(jù)都是相同的,當(dāng)活躍節(jié)點在運行中實效時,就需要剩余的節(jié)點重新選取活躍節(jié)點。新的活躍節(jié)點能夠繼續(xù)提供優(yōu)質(zhì)服務(wù),這種方式能夠讓其可行性大大增加,一直保持著優(yōu)質(zhì)服務(wù)模式。高性能網(wǎng)站的構(gòu)建需要解決另一個大問題,即會話保持,而構(gòu)架能夠?qū)挶3衷趍emcached中,從而消除會話粘滯現(xiàn)象,大大提高會話處理的速度。利用MongoDB集群去構(gòu)建高性能網(wǎng)站是非常有必要的,除了能夠大量利用輕量級的組件去提供高性能之外,它還能夠利用首頁靜態(tài)化,從而使得AJAX延遲加載提升用戶的體驗,達(dá)到對網(wǎng)站運行效率進(jìn)行綜合提升的效果。
總而言之,從高性能網(wǎng)站的架構(gòu)層次的各個方面去分析影響網(wǎng)站性能和用戶體驗的各種原因,在用戶使用網(wǎng)站的過程中,主要有三個部分是網(wǎng)站的性能瓶頸,分別是網(wǎng)站內(nèi)部部分?jǐn)?shù)據(jù)的加工和處理、數(shù)據(jù)的傳輸速率和數(shù)據(jù)的存儲讀取速率、網(wǎng)站將數(shù)據(jù)信息傳輸?shù)接脩舻臑g覽器中的傳輸方式和途徑。這三個部分是影響用戶體驗的關(guān)鍵因素,也是網(wǎng)站性能瓶頸。在高性能網(wǎng)站構(gòu)建的整個過程包括很多需要優(yōu)化的部分,也存在很多需要改變的地方。
[1]卞琛.構(gòu)建高性能網(wǎng)站的關(guān)鍵技術(shù)研究[J].電腦編程技巧與維護(hù),2014(22):100-102.
[2]劉強(qiáng),朱曉冰,賈蓓.高性能計算仿真云平臺的構(gòu)建策略分析[J].數(shù)字技術(shù)與應(yīng)用,2014(6):213-213.
[3]項杰,靳媛媛,李愛光. OSG中三維場景構(gòu)建的關(guān)鍵技術(shù)[J].地理空間信息,2012,10(1):43-45.
[4]劉星成,羅恒宏,張光昭.軟件無線電中的關(guān)鍵技術(shù)及平臺構(gòu)建初探[J].無線電通信技術(shù),2000(1):55-59.
[5]張文盛,鄭漢華.基于MongoDB構(gòu)建高性能網(wǎng)站技術(shù)研究[J].吉林師范大學(xué)學(xué)報(自然科學(xué)版),2013,34(1):123-127.
[6]徐立新,李慶亮,陳富民.基于高性能網(wǎng)絡(luò)系統(tǒng)架構(gòu)的設(shè)計與實現(xiàn)[J].計算機(jī)工程與設(shè)計,2004,25(10):1773-1777.
[7]畢洪宇.利用NoSQL構(gòu)建高性能全文檢索系統(tǒng)[J].計算機(jī)與現(xiàn)代化,2012(3):122-124.
[8]祝永志,李丙鋒,魏榕暉. Beowulf-T機(jī)群系統(tǒng)高可擴(kuò)展性的研究[J].計算機(jī)科學(xué),2008,35(2):298-300.
[9]劉小強(qiáng).關(guān)于構(gòu)建高性能ASP.NET網(wǎng)站的優(yōu)化措施研究[J].銅陵職業(yè)技術(shù)學(xué)院學(xué)報,2012,11(2):65-66.