日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
作為應(yīng)用開發(fā)者,我們到底該如何建立一項性能測試規(guī)劃?

所謂制定性能測試規(guī)劃,并不單純只是整理出一篇指導(dǎo)文檔,而應(yīng)深入考量以確保能夠通過最少的執(zhí)行步驟回答關(guān)于系統(tǒng)性能的種種問題。

首先,我們有必要了解測試結(jié)果需要用于回答哪些問題。以下是部分常見示例:

  • 壓力測試:系統(tǒng)能夠承受且提供可接受用戶體驗的***并發(fā)用戶數(shù)量是多少?拐點在哪里?
  • 負載測試:在當前系統(tǒng)負載場景下,應(yīng)用程序表現(xiàn)如何?是否能夠?qū)崿F(xiàn)進一步改善?
  • 持久性測試:在運行一段時間后,系統(tǒng)工作效果如何?(有時我們需要每晚重啟服務(wù)器,直到找出解決性能逐步下降的根本原因。)
  • 峰值測試:如果正常運行的系統(tǒng)被突如其來的峰值壓垮,我們需要多長時間才能完成系統(tǒng)恢復(fù)?

另外,在性能測試規(guī)劃當中,我們還應(yīng)當對自身能力進行考量:

團隊是否準備好應(yīng)對此類突發(fā)狀況?或者還需要進行額外培訓(xùn)?

我們能夠以怎樣的速度找到性能問題的解決辦法?

我們已經(jīng)具備哪些物理資源?不具備的部分存在怎樣的獲取難度?

帶著這些問題,我們即可有針對性地對系統(tǒng)進行審查,并思考如何加以改進。

為了控制篇幅,今天我們只專注于其中一項議題:在明確了預(yù)期負載后,我們該如何運行準確的對應(yīng)負載場景?

性能測試規(guī)劃:并發(fā)用戶數(shù)量

這里需要再次強調(diào):我們無法在測試起步時即模擬全部并發(fā)用戶。在這種情況下,一定會同時出現(xiàn)多種問題,而我們很難弄清其真正根源。因此大家應(yīng)當以迭代方式不斷提升負載強度,并在過程中觀察所出現(xiàn)的問題。

  • 示例:負載測試

現(xiàn)在,我們假定需要測試當前系統(tǒng)能否支持1000名并發(fā)用戶。

1.首測:1用戶,無并發(fā)。我們將此作為基準,當然大家也可以選擇5用戶或者10用戶,但請確保具體數(shù)字遠低于預(yù)期水平。

2.二測:200并發(fā)用戶(或者預(yù)期負載的20%)?,F(xiàn)在我們將能夠得到大量信息,其將最終決定測試過程是否順利。

在初始測試時,我們首先解決重要問題與默認配置(連接池數(shù)或者Java堆大小等),借此了解如何將響應(yīng)時間與基準水平進行比較。在分析與故障排查完成后,我們再次重復(fù)這一測試,直到得出可接受的時間。

根據(jù)實際結(jié)果,我們考慮在第三次測試中使用40%負載強度(以20%作為基礎(chǔ)增量)還是50%(接下來為75%和100%)進行實驗。無論如何選擇,我們都能在過程中了解到系統(tǒng)的響應(yīng)時間變化,并掌握其隨負載提升所產(chǎn)生的變化。

在本示例中,我們將20%作為增量。另外,我們會重復(fù)測試直到在各種負載強度下達到符合預(yù)期的SLA,之后再進行新一輪增量。

  • 示例:壓力測試

在第二項示例中,我們希望利用壓力測試找到系統(tǒng)的性能拐點。這意味著我們要增加用戶數(shù)量并分析其是否會同步帶來通量增加。一旦并發(fā)量增加但通量不變,則意味著我們到達了拐點,這時系統(tǒng)已經(jīng)達到飽和狀態(tài)。

這里我們***采取所謂探索性能測試,即假設(shè)拐點一定存在于1000并發(fā)用戶以內(nèi)的區(qū)間。

目前各類負載模擬工具皆可隨時間推移進行負載量提升,例如在開始測試時為0并發(fā)用戶,到1小時時則為1000并發(fā)用戶。如此一來,我們即可觀察系統(tǒng)通量何時發(fā)生下降。假設(shè)拐點出現(xiàn)在約650并發(fā)用戶,則我們可以進一步細化以確定準確的拐點位置。

  • 示例:持久性測試

在持久性測試中,我們在可接受條件下運行一項恒定負載,例如在***容量的50%到70%之間。當然,具體情況視您的實際系統(tǒng)場景而定。

一般來講,此類測試應(yīng)在壓力或負載測試之后進行,用以發(fā)現(xiàn)其它類型的問題(例如內(nèi)存泄漏與掛起連接等)。如果有時間,大家可以延長測試周期以發(fā)現(xiàn)更多問題。

  • 示例:峰值測試

正如之前提到,峰值測試的意義在于了解系統(tǒng)能夠以怎樣的速度實現(xiàn)恢復(fù)。在這里,我們可以嘗試設(shè)置1分鐘的流量峰值,而后降低負載,觀察系統(tǒng)能否正確響應(yīng)或者將請求暫時掛起。

當然,大家也可以先嘗試建立小型峰值,而后再逐步加大強度以研究系統(tǒng)的實際反應(yīng)。需要強調(diào)的是,相關(guān)模擬請盡可能與用戶行為的分析結(jié)論相對應(yīng),特別是基于相關(guān)日志信息。

總結(jié)

性能測試規(guī)劃的具體設(shè)計取決于您希望從中回答的實際問題,但其共同點在于,我們需要盡可能減少測試次數(shù)、優(yōu)化測試成本并提升收益。因此,迭代式增量(用于負載、持久性與峰值測試)以及細粒度(用于壓力測試)方法無疑值得大家加以嘗試。


標題名稱:作為應(yīng)用開發(fā)者,我們到底該如何建立一項性能測試規(guī)劃?
URL分享:http://www.dlmjj.cn/article/djddsio.html