電子商務(wù)網(wǎng)站容量規(guī)劃
2012-12-10 文章來(lái)源: 站長(zhǎng)
之前,分享了電子商務(wù)網(wǎng)站容量規(guī)劃的大綱,總體來(lái)說(shuō),容量規(guī)劃是一個(gè)非常復(fù)雜的工作,涉及各個(gè)技術(shù)領(lǐng)域的專業(yè)內(nèi)容。今天在這里分享一些方法來(lái)把握電子商務(wù)網(wǎng)站容量規(guī)劃的整體。
(1)分而治之
大型的電子商務(wù)系統(tǒng)可能非常復(fù)雜,包含全球各主要地點(diǎn)的數(shù)據(jù)中心、全球廣域網(wǎng)絡(luò)、數(shù)據(jù)中心的當(dāng)?shù)亟粨Q局域網(wǎng)絡(luò)、安全基礎(chǔ)設(shè)施、各數(shù)據(jù)中心的計(jì)算基礎(chǔ)設(shè)施、存儲(chǔ)子系統(tǒng)、分布式的數(shù)據(jù)庫(kù)系統(tǒng)等。從系統(tǒng)設(shè)計(jì)的角度講,復(fù)雜系統(tǒng)的設(shè)計(jì)通常采用自頂向下的模塊化、層次化的構(gòu)架設(shè)計(jì)。層次是基于結(jié)構(gòu)的一種劃分,模塊式基于功能的一種劃分。復(fù)雜系統(tǒng)可以先基于層次劃分,然后在每一層次中細(xì)分功能模塊;也可以先基于模塊劃分子系統(tǒng),然后在子系統(tǒng)內(nèi)部再劃分。
這種設(shè)計(jì)思路簡(jiǎn)化了問(wèn)題的復(fù)雜度,比較好的控制了再設(shè)計(jì)的每一階段需要同時(shí)考慮的因素的數(shù)量。電子商務(wù)系統(tǒng)的容量規(guī)劃,對(duì)應(yīng)系統(tǒng)架構(gòu)的分解,也可以分而治之,對(duì)各層次、各模塊的性能分別進(jìn)行容量規(guī)劃。具體到各層次、各模塊。他們對(duì)預(yù)期容量、性能、擴(kuò)展性的要求都是不一樣的,分而治之也可以確保容量規(guī)劃考慮到足夠細(xì)致。
另外,分而治之能幫助把握容量規(guī)劃的重點(diǎn)。根據(jù)8/2原則,整體系統(tǒng)的性能的瓶頸,往往取決于系統(tǒng)20%的組建,分而治之幫助找到系統(tǒng)中的需要關(guān)注的層次和模塊,在容量規(guī)劃中對(duì)這些層次和模塊加以重點(diǎn)考慮,往往能達(dá)到事半功倍的效果。
(2)利用工具
容量規(guī)劃即是科學(xué),又是一種藝術(shù),因?yàn)闆](méi)有人能精確預(yù)測(cè)實(shí)際的容量需求。利用工具可以幫助預(yù)測(cè)和分析電子商務(wù)系統(tǒng)的行為和需求發(fā)展趨勢(shì),為容量規(guī)劃提供樣本數(shù)據(jù),為理論計(jì)算提供實(shí)際數(shù)據(jù)參考。
在兩類工具可以幫助容量規(guī)劃。一類是測(cè)試工具,通常在系統(tǒng)部署上線和升級(jí)之前使用,用于模擬用戶用戶實(shí)際實(shí)際的訪問(wèn)請(qǐng)求,可以用來(lái)測(cè)試和觀察系統(tǒng)在接近真實(shí)訪問(wèn)請(qǐng)求的情況下的行為和性能。模擬一定數(shù)量的并發(fā)訪問(wèn),可以用來(lái)做壓力測(cè)試,幫助測(cè)試觀察系統(tǒng)在不同的負(fù)載下的行為和處理能力的變化情況、趨勢(shì)和飽和點(diǎn)。這些數(shù)據(jù)都可以極大地幫助到容量的分析和預(yù)測(cè)。常用的工具如,微軟的免費(fèi)工具web capacity analysis tool 和web application stress tool。
另一類是檢測(cè)工具,通常在系統(tǒng)運(yùn)維階段使用,用于監(jiān)視系統(tǒng)的實(shí)際訪問(wèn)量和使用率,觀察訪問(wèn)需求和峰谷值特征和變化趨勢(shì),幫助警告系統(tǒng)容量接近上限是否需要擴(kuò)充,幫助預(yù)測(cè)一定周期內(nèi)訪問(wèn)量和增長(zhǎng)趨勢(shì),便于對(duì)可預(yù)見(jiàn)的將來(lái)系統(tǒng)的進(jìn)一步升級(jí)進(jìn)行規(guī)劃。某些工具還可以自動(dòng)進(jìn)行某些預(yù)測(cè)分析,預(yù)告未來(lái)幾個(gè)月、半年、一年的容量需求。3)動(dòng)態(tài)調(diào)整
即使在系統(tǒng)上線前進(jìn)行了非常細(xì)致的容量規(guī)劃,系統(tǒng)真正開(kāi)始運(yùn)行后,仍然可能發(fā)現(xiàn)與實(shí)際情況有差異。另外,伴隨電子商務(wù)業(yè)務(wù)的快速發(fā)展,系統(tǒng)訪問(wèn)需求的變化也可能很快超過(guò)預(yù)期值。所以,容量規(guī)劃是一個(gè)長(zhǎng)期的任務(wù),韻味人員需要定期評(píng)估系統(tǒng)的負(fù)載、利用率、訪問(wèn)需求的變化情況和趨勢(shì),有必要的話應(yīng)提出擴(kuò)充升級(jí)的需求。定期的評(píng)估可以使用監(jiān)控工具的數(shù)據(jù),也可以通過(guò)理論分析,依據(jù)新的需求開(kāi)展。
下面介紹容量規(guī)劃需要考慮的一些主要因素。
1)用戶數(shù)量
確定同時(shí)使用站點(diǎn)的用戶數(shù)量,這個(gè)數(shù)字通常有兩個(gè)主要來(lái)源:市場(chǎng)分析和系統(tǒng)分析。如果站點(diǎn)還未建立或者發(fā)布,站點(diǎn)所有者和操作人員就可能需要借助市場(chǎng)分析報(bào)告來(lái)預(yù)測(cè)站點(diǎn)發(fā)布初期及以后的預(yù)期通信量。如果站點(diǎn)已經(jīng)建立且已在運(yùn)行,分析web服務(wù)器的日志文件,以了解站點(diǎn)在不同時(shí)間的點(diǎn)擊數(shù)以及可以表明站點(diǎn)內(nèi)容很受歡迎程度是否增加的所有使用趨勢(shì)。計(jì)算站點(diǎn)當(dāng)前支持的用戶數(shù)量時(shí),要根據(jù)峰值使用來(lái)計(jì)算,而不是根據(jù)典型使用平均或者平均使用。
這里隱含了一個(gè)可用性的問(wèn)題。企業(yè)應(yīng)對(duì)網(wǎng)站可用性程度做出決策。例如,是必須保證網(wǎng)站能處理峰值的訪問(wèn)量,還是保證能處理80%的峰值訪問(wèn)量就夠了?這取決于公司打算投入多少財(cái)力來(lái)保證電子商務(wù)系統(tǒng)始終能夠滿足需求。這要看電子商務(wù)網(wǎng)站不可用而引起的損失是否值得企業(yè)花錢(qián)來(lái)達(dá)到這種可能性。
2)頁(yè)面類型
如果web服務(wù)已處理靜態(tài)頁(yè)面為主,由于靜態(tài)頁(yè)面讀取主要看磁盤(pán)操作,所以更多考慮的是I/O性能要求,如果web服務(wù)需要處理大量動(dòng)態(tài)頁(yè)面,那么對(duì)中間件系統(tǒng)計(jì)算能力和數(shù)據(jù)庫(kù)處理能力的要求就會(huì)比較高,生成動(dòng)態(tài)內(nèi)容所需的數(shù)據(jù)查詢處理量越大,對(duì)系統(tǒng)計(jì)算能力和數(shù)據(jù)庫(kù)處理能力要求就越高。
3)采用何種web應(yīng)用技術(shù)
采用asp、asp.net java、applet、jsp、web service 等不同的微博應(yīng)用技術(shù),對(duì)系統(tǒng)的處理能力開(kāi)銷(xiāo)是不一樣的。
4)網(wǎng)站提供的服務(wù)內(nèi)容
例如,通過(guò)電子商務(wù)提供法律咨詢的服務(wù)的網(wǎng)站,網(wǎng)頁(yè)的內(nèi)容可能多數(shù)以文字為主,有少量圖片,那么同樣的條件下,用戶調(diào)用某一頁(yè)面的時(shí)間會(huì)比較短,每一用戶請(qǐng)求占有系統(tǒng)的處理能力資源會(huì)比較少。而如果是通過(guò)電子商務(wù)提供視頻、圖片資料服務(wù)的網(wǎng)站,網(wǎng)頁(yè)內(nèi)頁(yè)以圖片、視頻資料為主,可能帶有實(shí)時(shí)傳送的流媒體內(nèi)容,那么用戶調(diào)用某一頁(yè)面的時(shí)間比較長(zhǎng),每一用戶請(qǐng)求占有系統(tǒng)處理能力資源也會(huì)比較多。
對(duì)于電子商務(wù)網(wǎng)站的基礎(chǔ)設(shè)計(jì),每一組建,包括web和中間件系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng)、服務(wù)器系統(tǒng)、存儲(chǔ)系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)的容量規(guī)劃,簡(jiǎn)化來(lái)講,都基于一下的公式:系統(tǒng)容量=并發(fā)服務(wù)請(qǐng)求數(shù)x每請(qǐng)求系統(tǒng)開(kāi)銷(xiāo)。