目錄
目錄X

動易SiteFactory2.0負載能力深度測評報告(1)

[NextPage前言]   一、前言部分

2008年12月03日,我們對外發(fā)布了基于微軟.net平臺的企業(yè)級內(nèi)容管理系統(tǒng)——動易 SiteFactory? 2.0 正式版。此次發(fā)布的 SiteFactory? 2.0 版本不僅在系統(tǒng)架構(gòu)方面進行了最大程度的改進,而且對查詢語句、索引、應用程序調(diào)用及數(shù)據(jù)庫性能等方面進行了仔細且嚴格的優(yōu)化!特別是內(nèi)置于Xpower模板解析引擎中的標簽庫全部重新書寫及優(yōu)化,重新按照模板設(shè)計思路的進行目錄歸類,精簡標簽數(shù)量到200多個等一系列優(yōu)化和改進之后,無論是易用性還是執(zhí)行效率上都遠遠超越了歷屆版本。

距離 SiteFactory? 面市已經(jīng)過去數(shù)月,雖每一次版本的更新都伴隨著負載和性能的一次提升,但具體提升多少并沒有多少人知道。如今,在新版本架構(gòu)和執(zhí)行性能趨于穩(wěn)定后,我們特別組織動易測試部對SiteFactory? 2.0 的數(shù)據(jù)負載能力進行一次全方位的深度評測。希望通過具有說服力的“實際評測數(shù)據(jù)”,為大家展示SiteFactory? 2.0 真正的負載實力。

《用數(shù)據(jù)說話!動易SiteFactory2.0負載能力深度測評報告》將被分成數(shù)個篇章以評測系列的方式進行介紹,整個評測過程采用透明、公開的方式供大家監(jiān)督!如果有誰對測評過程和測評結(jié)果有疑問,可以自行參照我們的測試過程搭建類似的測試環(huán)境自己測試和對比測試結(jié)果。

下面我們就開始第一部分的評測:

[NextPage測試環(huán)境]

  二、測試環(huán)境

  1、服務器環(huán)境:

為了測試普通環(huán)境下SiteFactory的負載能力,特使用普通臺式機作為服務器來測試SiteFactory的運行情況。
服務器配置如下:
服務器配置
服務器配置

  • Intel? Core?2 CPU 4400 @ 2.00GHZ 2.00 GHz,2.00GB的內(nèi)存
  • 250G硬盤
  • 服務器上安裝了Windows2003,搭建了必要的環(huán)境,為了避免其他網(wǎng)站可能會產(chǎn)生的干擾,服務器上只放有一個測試網(wǎng)站。

  2、客戶端環(huán)境:

為避免某一臺客戶端電腦配置太慢會引起誤差,采用3臺不同的電腦上來測試。三臺電腦的配置分別為:



  3、其他環(huán)境:

為避免因特網(wǎng)網(wǎng)速會引起的誤差,采用局域網(wǎng)訪問方式。
為了與真實應用的效果,不是采用程序直接錄入100萬條最簡單的數(shù)據(jù),而是通過用戶提供的實際網(wǎng)站數(shù)據(jù),準備了10萬數(shù)據(jù)量和100萬數(shù)據(jù)量的數(shù)據(jù)庫來進行測試。
  下圖是顯示有10萬/100萬篇文章,全是常規(guī)文章,而不是統(tǒng)一添加的相同數(shù)據(jù)。







[NextPage評測工具]

三、評測工具


1、載入時間測試工具(webwait,網(wǎng)址: )

WebWait是一個提供測量網(wǎng)站載入速度的網(wǎng)站。它可以計算網(wǎng)站從讀取到完成需要多少時間,包括所有圖象、stylesheets和JavaScript。

WebWait目前支持FireFox、Opera和IE三種瀏覽器,你可以設(shè)置載入頁面的次數(shù)和每次的時間間隔,默認5次之后計算出平均值就為結(jié)果了。



2、測試用瀏覽器

微軟IE7 瀏覽器
 
[NextPage后臺管理頁面的性能測試(一)]

  四、評測步驟                                                                                                                                  

  1、后臺管理頁面的性能測試

使用WebWait來測試網(wǎng)頁載入時間,從點下鏈接開始,到頁面打開計時。每臺電腦上點擊6次,只取后5次時間的平均值。(說明:因為ASP.NET的“第一次訪問頁面會進行編譯等操作而導致會比較慢,后面訪問才會非??臁钡奶匦裕詼y試結(jié)果不取第一次打開頁面時間。)

1)全部內(nèi)容打開時間:
10萬篇文章時后臺管理“全部內(nèi)容”打開時間



100萬篇文章時后臺管理“全部內(nèi)容”打開時間


[NextPage后臺管理頁面的性能測試(二)]

2)待審核內(nèi)容打開時間
10萬篇文章時待審核內(nèi)容打開時間

 
100萬篇文章時待審核內(nèi)容打開時間



[NextPage后臺管理頁面的性能測試(三)]

3)已審核內(nèi)容打開時間

10萬篇文章時已審核內(nèi)容打開時間


100萬篇文章時已審核內(nèi)容打開時間


  小結(jié):動易SiteFactory的后臺管理可以輕松承載100萬的數(shù)據(jù),并且和10萬數(shù)據(jù)時相比,沒有任何性能上的衰減。無論是10萬數(shù)據(jù)還是100萬數(shù)據(jù),后臺管理的幾個主要頁面的打開時間都在0.2秒以內(nèi),可以說是“閃電”來形容,絕對是“飛快”的級別。

[NextPage生成HTML頁面速度測試(一)]

  2、生成HTML頁面速度測試

1)內(nèi)容頁模板最簡化,只保留顯示文章的標題、作者、更新時間、內(nèi)容等,不要任何其他不相關(guān)的標簽,如相關(guān)文章、推薦文章、熱門文章等,生成1萬篇文章計時。模板的前臺顯示效果見下圖:


為了不讓ASP.NET的特性影響生成速度,先小量生成10篇文章,不計時,然后開始生成1萬篇文章并計時。

10萬篇文章數(shù)據(jù)量,生成1萬篇文章計時


2)使用一個官方默認提供的模板(除了含有文章的標題、作者、更新時間、內(nèi)容等,還有相關(guān)文章、推薦文章、熱門文章等標簽),生成1萬篇文章計時。模板的前臺顯示效果見下圖:


最后的運行時間見下圖:

 

  小結(jié):動易SiteFactory2.0的內(nèi)容頁的生成速度可以說用“飛快”來形容,無論是10萬數(shù)據(jù)還是100萬數(shù)據(jù),無論是簡單模板還是復雜模板,內(nèi)容頁的HTML生成速度都達到了每秒可以生成6-10篇。從數(shù)據(jù)中也可以看出來,同樣的模板時,10萬數(shù)據(jù)和100萬數(shù)據(jù)在生成HTML時沒有太大的性能差異,但模板的復雜度則直接影響了生成速度,模板越復雜,調(diào)用的標簽越多,性能衰減得越厲害。

[NextPage生成HTML頁面速度測試(二)]

3)將6萬多篇文章歸屬于某欄目,然后為這個欄目制作一個最簡單的欄目列表頁模板,模板中只有一個分頁列表,沒有熱門文章、推薦文章等標簽。生成這個欄目列表頁,計時。模板的前臺顯示效果見下圖:


從上圖可以看出,這個欄目下共有6萬多篇文章,每頁20篇文章,共要生成3000多頁。
為了不讓ASP.NET的特性影響生成速度,先生成某個只有10篇文章的欄目列表,再生成此欄目的列表并計時。


4)為上述欄目使用官方默認的欄目列表頁模板,生成欄目列表頁,計時。模板的前臺顯示效果見下圖:




  小結(jié):動易SiteFactory2.0的欄目頁的生成速度可以說用“飛快”來形容。無論是10萬數(shù)據(jù)還是100萬數(shù)據(jù),使用簡單模板的情況下,生成一個含有6萬多篇文章(每頁20篇文章,共要生成3000多個頁面)的欄目頁的生成時間都在150秒左右,約每秒種生成20頁,性能上沒有太大的差異。

當使用復雜模板時,10萬數(shù)據(jù)和100萬數(shù)據(jù)在生成HTML時出現(xiàn)了較大的性能差異,但100萬數(shù)據(jù)和復雜模板時仍能達到每秒鐘10個頁面左右的速度,仍可以歸于“飛快”級別。對比兩個表格的數(shù)據(jù),我們可以清楚的看到模板的復雜度則直接影響了生成速度,模板越復雜,調(diào)用的標簽越多,性能衰減得越厲害。

[NextPage生成HTML頁面速度測試(三)]

5)為首頁節(jié)點制作一個簡單的模板(只調(diào)用4個欄目的列表),生成首頁計時。模板的前臺顯示效果見下圖:


為了不讓ASP.NET的特性影響生成速度,第一次生成首頁不計時。




6)為首頁制作一個復雜的模板(調(diào)用20個欄目的列表,還有其他各種功能),生成首頁計時。模板的前臺顯示效果見下圖:






  小結(jié):動易SiteFactory2.0的首頁的生成速度可以說用“飛快”來形容,無論是10萬數(shù)據(jù)還是100萬數(shù)據(jù),無論是簡單模板還是復雜模板,首頁的HTML生成速度都在1秒左右。從數(shù)據(jù)中也可以看出來,同樣的模板時,10萬數(shù)據(jù)和100萬數(shù)據(jù)在生成HTML時沒有太大的性能差異,但模板的復雜度則直接影響了生成速度,模板越復雜,調(diào)用的標簽越多,性能衰減得越厲害。

[NextPage動態(tài)頁訪問性能測試]

  3、動態(tài)頁訪問性能測試

1)讓首頁節(jié)點使用上述第5項測試中的簡單模板,前臺訪問動態(tài)首頁計時
為了不讓ASP.NET的特性影響生成速度,第一次訪問首頁不計時。



2)讓首頁使用上述第6項測試中的復雜模板,前臺訪問動態(tài)頁計時
10萬篇文章時打開動態(tài)首頁時間



  小結(jié):動易SiteFactory2.0的首頁的訪問速度可以說用“飛快”來形容,無論是10萬數(shù)據(jù)還是100萬數(shù)據(jù),無論是簡單模板還是復雜模板,首頁的HTML生成速度都在3秒左右。從數(shù)據(jù)中也可以看出來,同樣的模板時,10萬數(shù)據(jù)和100萬數(shù)據(jù)在生成HTML時沒有太大的性能差異,但模板的復雜度則直接影響了生成速度,模板越復雜,調(diào)用的標簽越多,性能衰減得越厲害。

當我們和生成首頁的時間進行對比,我們發(fā)現(xiàn)一個很特殊的現(xiàn)象:生成首頁的時間還小于訪問動態(tài)首頁的時間。這是為什么呢?這是因為本次測試的統(tǒng)計時間是以頁面打開時間為準,這里面包含了三個時間:服務器端的程序執(zhí)行時間+IE下載頁面時間+IE解析頁面時間。生成首頁HTML時,顯示的信息很少,所以后兩者幾乎不用時間;訪問動態(tài)首頁時,因為首頁的信息量大,還有大量圖片等,所以后兩者的時間相對較長。

[NextPage測評結(jié)果匯總和結(jié)論]

  五、測評結(jié)果匯總和結(jié)論






從上面的結(jié)果可以看出SiteFactory能夠很輕松地承受100萬的數(shù)據(jù)量,并且多數(shù)情況下我們很難看出100萬數(shù)據(jù)量和10萬數(shù)據(jù)量的性能差異。

一個CMS的性能好壞和多方面有關(guān):

1、查詢語句的合理性
2、索引是否正確
3、數(shù)據(jù)庫軟件的性能
4、硬件平臺
5、應用程序的調(diào)用方法。

對于動易SiteFactory來說,系統(tǒng)本身的設(shè)計能影響到的性能只限于后臺管理頁面,動易SiteFactory的優(yōu)秀設(shè)計使得后臺管理能夠輕松承受100萬的數(shù)據(jù)量。但前臺因為模板和標簽是完全可以自定義的,所以前臺的性能和生成HTML時的性能受兩大方面的影響:

1、模板中調(diào)用的標簽數(shù)量。調(diào)用的標簽越多,速度越慢。
2、標簽本身的設(shè)計,其中標簽中的SQL查詢語句是否合理、查詢語句中的對應字段是否建立了索引,索引是否正確等直接影響了性能好壞。

動易SiteFactory的前臺是否可以承載100萬數(shù)據(jù)量,要看模板和標簽的合理設(shè)計、數(shù)據(jù)庫對應的優(yōu)化。不過從測試來看,官方提供的模板和標簽還是比較合理的,能夠輕松承載100萬的數(shù)據(jù)量。

  由于用于測試的服務器只是一臺普通的臺式機,如果使用專業(yè)的品牌服務器,相信生成速度和訪問速度都有很大的提高。

  下一個性能測評報告,我們將重點測試動易SiteFactory的并發(fā)訪問負載能力。敬請期待!

[NextPage評測反思]

反思:

從我們的測評結(jié)果來看,動易SiteFactory絕對可以用飛快來形容,我們平時在動易官方網(wǎng)站的使用情況也證實了這一點,但為什么老是有用戶反映說他們感覺很慢呢?有以下幾個原因:

1、Asp.Net的特性是第一次訪問某個頁面時,要進行編譯過程,所以第一次訪問會很慢,再后面無論是自己再訪問還是其他人再訪問這個頁面,因為已經(jīng)不需要編譯過程了,所以會飛快。但很多用戶不明白這一點,總是以自己第一次頁面的時間來衡量,所以當然會感覺慢,因為這不是感覺,而是事實。

2、Asp.Net程序的對運行環(huán)境的要求相對ASP/PHP要高不少,一般的100元的那種虛擬主機因為給每個網(wǎng)站分配的資源是非常非常少的(比如限制了1%的CPU占用率,100M的內(nèi)存),這樣的主機是不適合運行Asp.Net程序的,而很多用戶恰恰是用這些主機來測試動易SiteFactory,再和ASP/PHP程序一對比,自然就會感覺較慢。

3、動易SiteFactory本身做性能做了很多優(yōu)化,大量使用了緩存,是一種以內(nèi)存換速度的作法,很多主機就算沒有對CPU限制得過死,但對內(nèi)存占用一般都限制在100M左右,遠小于SiteFactory對內(nèi)存的需求,導致許多東西無法緩存,從而導致動易SiteFactory運行得較慢。當主機滿足動易SiteFactory的內(nèi)存需求時,動易SiteFactory是可以運行的非??斓?。從我們的這次測試結(jié)果來看,普通的臺式機配置就可以完全滿足動易SiteFactory的需求。

4、許多用戶用來測試動易SiteFactory的電腦上裝滿了各種各樣的軟件,特別是一些殺毒軟件沒有配置好,一些內(nèi)存優(yōu)化軟件不斷的清除動易SiteFactory生成的緩存對象,一些軟件的沖突導致IIS的應用池不斷重啟,從而導致動易SiteFactory每次訪問都要重新編譯,所以會出現(xiàn)非常慢的情況。如果你遇到這種情況,請檢查電腦的環(huán)境配置。用來測試動易SiteFactory盡可能的在干凈的Windows2003系統(tǒng)下進行(可以安裝虛擬機)。
【打印正文】 發(fā)布時間:2008-12-04 10:31:46 瀏覽次數(shù): 作者:動易測試部 來源:本站原創(chuàng)
×

用戶登錄