openfire 3 7 壓力測試一(註冊)

2021-08-31 22:15:09 字數 2694 閱讀 8076

硬體配置:cpu e5620  @ 2.40ghz x2(16核),記憶體 32g

作業系統:

centos

release 5.4(64bit,核心2.6.18

)機器上安裝有一vm,vm執行openfire資料庫,對效能會有一定影響。

openfire 執行引數:openfire -xms16g -xmx16g -xmn8g -xx:

maxpermsize

=512m -xx:

permsize

=512m

測試機配置

pc機 2.2g雙核,1.5g可用記憶體

測試機與伺服器間為100m網路,測試機6個執行緒(受測試機條件影響,但已能較大程度模擬併發)同時不間斷共建立60萬使用者。

模擬大併發同時註冊為openfire使用者,監控伺服器瓶頸。

測試開始前,伺服器使用ibm基於gpl的unix/linux資源監控軟體

nmon。

[root@testserver128nmon_data]#nmon -s1 -c600 -f -m /opt/evas/data/nmon_data/

即每秒採集一次硬體資源,共採集600次,即10分鐘,日誌儲存到指定目錄。10分鐘後(實際使用者未建立完成,大概建立50多萬,未出現錯誤),目錄下生成帶機器名及時間標稱的記錄檔案:

[root@testserver128 nmon_data]# ls

testserver128_110614_1544.nmon  testserver128_110614_1645.nmon

[root@testserver128nmon_data]# ls

testserver128_110614_1645.nmon

資料分析依然使用ibm免費的配套分析軟體nmon_analyser,說是軟體,但它只包含乙個excel文件(另含readme),不得不佩服藍色巨人的強壯,使用幾個vb**在excel中就能完成如此強大的功能。

測試資料:10分鐘時間完成53萬個註冊,平均每秒883個成功註冊,考慮到單機(pc機)測試,測試機的效能影響到測試結果。

從圖示可以看到,整個測試過程,cpu的壓力無明顯變化,使用者註冊請求對openfire壓力非常小,僅佔到1%-2%,最大約6%,但持續時間非常短。 

上圖為整個測試過程cpu使用情況,也能很明顯看到使用者占用較小,有點奇怪壓力居然集中在乙個核上。 

上圖為測試過程磁碟讀寫io情況,因為伺服器上裝有虛擬機器以執行資料庫,測過過程可能會存在一些影響。整體來看,與平時未進行壓力測試波動不大。且測試過程nmon需要寫日誌,openfire也需要寫日誌,會影響測試結果。 

磁碟寫偶爾有波動,大部分時間是正常波動。 

測試過程記憶體也無明顯波動,主要原因是openfire執行在jvm中,該監控工具無法監控到jvm記憶體變化情況。

openfire伺服器已連續執行6天多,測試後的gc日誌:

s0     s1     e      o      p     ygc     ygct    fgc    fgct     gct   

0.00  59.39  99.56   8.36   6.38     23   14.514     1    0.768   15.282

0.00  59.39  99.56   8.36   6.38     23   14.514     1    0.768   15.282

0.00  59.39  99.56   8.36   6.38     23   14.514     1    0.768   15.282

0.00  59.39  99.56   8.36   6.38     23   14.514     1    0.768   15.282

0.00  59.39  99.56   8.36   6.38     23   14.514     1    0.768   15.282

0.00  59.39  99.56   8.36   6.38     23   14.514     1    0.768   15.282

0.00  59.39  99.56   8.36   6.38     23   14.514     1    0.768   15.282

0.00  59.39  99.56   8.36   6.38     23   14.514     1    0.768   15.282

0.00  59.39  99.56   8.36   6.38     23   14.514     1    0.768   15.282

執行6天(含測試後)僅發生過23次young gc,1次full gc。但也能看到,young gc開銷的時間較大,這與新生代配置較大有非常大的關係,需要對jvm引數進行優化以壓縮gc時間。

jvm永久區記憶體存在大量浪費,老年代也存在大量浪費。記憶體多了,用起來也就大手大腳,導致以上小問題。

網路壓力也在完全可接受的範圍,甚至可以無視。 

整個測試過程,最辛苦的乙個cpu(核)的使用情況。

測試過程伺服器資源概況: 

比較明顯看出cpu比較正常,io會有些跳躍,但總體也不是瓶頸。通過整個測試過程來看,高併發的使用者註冊請求對openfire系統壓力影響不大。

1、作業系統最大開啟檔案數的問題,預設才1024,修改為100000(實際本次測試用不到)

壓力測試(一) 常用壓力測試工具對比

常用壓力測試工具對比 簡介 目前用的常用測試工具對比 1 loadrunner 效能穩定,壓測結果及細粒度大,可以自定義指令碼進行壓測,但是太過於重大,功能比較繁多 2 apache ab 單介面壓測最方便 模擬多執行緒併發請求,ab命令對發出負載的計算機要求很低,既不會占用很多cpu,也不會占用太...

(一)效能測試(壓力測試 負載測試)

一 專案經理經常安排測試工程師進行下面的工作 二 效能測試概念 三 負載測試 四 壓力測試 五 壓力測試與負載測試兩者區別 相同點 都是效能測試 負載測試強調系統正常工作情況下的效能指標 壓力測試的目的是發現在什麼條件下系統的效能變得不可接受,發現應用程式效能下降的拐點。舉例 工人建橋,橋身上表明,...

記一次壓力測試

壓力測試方式 1 jmeter單獨使用測試 2 先用badboy生成.jmx檔案,在用jmeter匯入,執行 1.建立執行緒組 指定執行緒數,迴圈次數 2 建立http請求,這裡使用的本地測試 3 可以建立定時器,輸入模擬使用者數量 4 建立報告,結果樹等 隨意 然後先用tomcat預設配置跑一次,...