分散式壓力測試系統及其方法
2023-05-22 15:59:56 1
分散式壓力測試系統及其方法
【專利摘要】本發明公開一種分散式壓力測試系統及其方法,通過測試服務端傳送不同的測試指令至對應的測試端,使各測試端根據測試指令對待測端進行壓力測試,並且在測試服務端傳送回傳請求後,由待測端將測試結果傳送至測試服務端,以便測試服務端根據測試結果調整壓力直到性能指標符合預設的門檻參數為止,用以達成提高壓力測試的真實性的技術功效。
【專利說明】分散式壓力測試系統及其方法
【技術領域】
[0001]本發明涉及一種壓力測試系統,特別是指一種由測試服務端控制不同的測試端,對待測端進行壓力測試的分散式壓力測試系統及其方法。
【背景技術】
[0002]近年來,隨著網絡的普及與雲端技術的蓬勃發展,吸引了許多廠商投入伺服器的建置,由於伺服器提供的服務不同,導致伺服器的規格、設置環境與零組件種類也存在差異,因此,為了確認伺服器是否符合要求而進行的壓力測試便成必要的程序之一。
[0003]一般而言,壓力測試的方式是直接在伺服器上執行測試程序來檢測伺服器的各項性能指標。然而,由於實際上伺服器是運作在網絡環境中,上述方式並未將實際的網絡因素考量在內,所以將導致測試結果可能存在相當大的誤差,進而產生測試真實性不足的問題。
[0004]有鑑於此,便有廠商提出一種基於網絡的壓力測試方式,通過網絡將待測的伺服器與測試主機相互連接,並且由測試主機對待測的伺服器施加壓力以進行壓力測試。如此一來,藉由實際的網絡環境即可增加測試的真實性。然而,上述方式僅為對單一伺服器的測試方式,無法真實模擬整個機櫃內的所有相關設備同時處理不同測試主機的測試請求。因此,上述方式仍然無法有效解決真實性不足的問題。
[0005]綜上所述,可知現有技術中長期以來一直存在壓力測試的真實性不足的問題,因此實有必要提出改進的技術手段,來解決此一問題。
【發明內容】
[0006]本發明揭露一種分散式壓力測試系統及其方法。
[0007]首先,本發明揭露一種分散式壓力測試系統,此系統包含:測試端、待測端及測試服務端。其中,測試端用以在接收到測試指令後,執行此測試指令以產生並傳送對應性能指標的測試數據;待測端包含以網絡相互連接的不同配置的伺服器或儲存裝置,用以接收啟動信息以啟動預設在待測端的服務程序,以及偵測所述服務程序在處理來自各測試端的測試數據時的伺服器或儲存裝置的狀態以生成包含所有性能指標的測試結果,並且在接收到回傳請求時傳送測試結果。
[0008]至於測試服務端則包含:儲存模塊、初始模塊、篩選模塊及調整模塊。其中,儲存模塊用以預先儲存門檻參數;初始模塊用以於初始時傳送不同的測試指令至各測試端、傳送啟動信息及回傳請求至待測端,以及從待測端接收測試結果;篩選模塊用以將測試結果與門檻參數進行比對,並且篩選出測試結果中不符合門檻參數的性能指標;以及調整模塊用以根據篩選出的性能指標選擇調整傳送至測試端的測試指令以調整對應的測試數據直到所有性能指標均符合門檻參數為止。
[0009]另外,本發明揭露一種分散式壓力測試方法,其步驟包括:預先在測試服務端提供門檻參數;此測試服務端於初始時傳送不同的測試指令至測試端、傳送啟動信息及回傳請求至待測端,所述待測端包含以網絡相互連接的不同配置的伺服器或儲存裝置;每一測試端在接收到測試指令後,執行測試指令以產生並傳送對應性能指標的測試數據;待測端接收啟動信息以啟動預設在待測端的服務程序,以及偵測所述服務程序在處理來自各測試端的測試數據時的伺服器或儲存裝置的狀態以生成包含所有性能指標的測試結果,並且在接收到來自測試服務端的回傳請求時傳送此測試結果至測試服務端;測試服務端將此測試結果與門檻參數進行比對,並且篩選出測試結果中不符合門檻參數的性能指標;測試服務端根據篩選出的性能指標選擇調整傳送至每一測試端的測試指令以調整對應的測試數據直到所有性能指標均符合門檻參數為止。
[0010]本發明所揭露的系統與方法如上,與現有技術的差異在於本發明是通過測試服務端傳送不同的測試指令至對應的測試端,使各測試端根據測試指令對待測端進行壓力測試,並且在測試服務端傳送回傳請求後,由待測端將測試結果傳送至測試服務端,以便測試服務端根據測試結果調整壓力直到性能指標符合預設的門檻參數為止。
[0011]通過上述的技術手段,本發明可以達成提高壓力測試的真實性的技術功效。
【專利附圖】
【附圖說明】
[0012]圖1為本發明分散式壓力測試系統的系統方塊圖。
[0013]圖2為本發明分散式壓力測試方法的方法流程圖。
[0014]圖3為本發明分散式壓力測試的步驟的示意圖。
[0015]圖4為應用本發明調整測試壓力的步驟的示意圖。
[0016]【符號說明】
[0017]110測試端
[0018]111、112 測試端
[0019]120待測立而
[0020]121伺服器
[0021]122儲存裝置
[0022]130測試服務端
[0023]131儲存模塊
[0024]132初始模塊
[0025]133篩選模塊
[0026]134調整模塊
【具體實施方式】
[0027]以下將配合圖式及實施例來詳細說明本發明的實施方式,藉此對本發明如何應用技術手段來解決技術問題並達成技術功效的實現過程能充分理解並據以實施。
[0028]在說明本發明所揭露的分散式壓力測試系統及其方法之前,先對本發明所應用的環境作說明,本發明是應用具有測試服務端、測試端及待測端的架構中,並且三者能夠通過網絡或連接線相互進行通訊,另外,測試服務端及測試端皆是以計算機來進行實現,所述計算機可為個人電腦、筆記型電腦、平板電腦、智慧型手機或個人數字助理……等設備。至於待測端則是指整體的機櫃(Rack)設備,包含以網絡相互連接的不同配置的伺服器或儲存裝置。
[0029]以下配合圖式對本發明分散式壓力測試系統及其方法做進一步說明,請參閱「圖1」,「圖1」為本發明分散式壓力測試系統的系統方塊圖,其系統包含:測試端110、待測端120及測試服務端130。其中,測試端110用以接收測試指令,並且在接收到測試指令後,執行此測試指令以產生並傳送對應性能指標的測試數據。舉例來說,在測試中央處理器(Central Processing Unit, CPU)的計算能力的情況下,測試端110會接收到用來測試CPU計算能力的測試指令,並執行此測試指令以產生專門用來測試CPU計算能力的測試數據,且將此測試數據傳送至待測端120。在實際實施上,可使用K個測試端110來進行不同的壓力測試,其中K為正整數且大於數值「I」。換句話說,測試端110的數量為二個或二個以上分別對不同的性能指標進行測試。
[0030]待測端120包含以網絡(例如:交換機)相互連接的不同配置的伺服器121或儲存裝置122,用以接收啟動信息以啟動預設在待測端120的服務程序,以及偵測所述服務程序在處理來自各測試端110的測試數據時的伺服器121或儲存裝置122的狀態以生成包含所有性能指標的測試結果,並且在接收到回傳請求時傳送此測試結果。在實際實施上,所述待測端120為壓力測試的待測端,此待測端120接收來自測試服務端130的啟動信息用以啟動預設在待測端120的服務程序,例如:網頁服務、數據傳輸服務……等等。接著,已經啟動的服務程序在處理測試數據時的伺服器121或儲存裝置122的狀態會被待測端120所偵測,如此一來,待測端120便可根據偵測結果產生包含所有性能指標的測試結果,例如:性能指標可為CPU使用率、存儲器使用率、帶寬使用率……等等。特別要說明的是,待測端120可根據提供的不同服務而有不同的硬體配置,例如:提供計算服務則伺服器121可配置多個CPU、提供資料庫服務則伺服器121配置大量存儲器、提供儲存服務則儲存裝置122配置多個硬碟……等等。
[0031]至於測試服務端130則包含:儲存模塊131、初始模塊132、篩選模塊133及調整模塊134。其中,儲存模塊131用以預先儲存門檻參數,此門檻參數至少包含中央處理器、存儲器、硬碟或網絡帶寬的性能指標,例如:將中央處理器的性能指標記錄為「CPU ;80%」;將存儲器的性能指標記錄為「MEM ;50%」 ;將硬碟的性能指標記錄為「HDD ;2%」 ;將網絡帶寬的性能指標記錄為「NET ;10%」。在實際實施上,可藉由門檻參數來判斷各項性能指標是否超過預設的門檻,進而判斷是否要調整壓力測試的壓力,其調整方式是調整傳送至測試端110的測試指令以調整對應的測試數據。
[0032]初始模塊132用以於初始時傳送不同的測試指令至測試端110、傳送啟動信息及回傳請求至待測端120,以及從待測端120接收測試結果。在實際實施上,初始模塊132會先將不同的測試指令傳送至各測試端110,而且同時傳送啟動信息制待測端120以啟動待測端120的服務程序,接著再傳送回應請求至待測端120要求待測端120回傳測試結果,以及接收待測端120所回傳的測試結果。
[0033]篩選模塊133用以將接收自待測端120的測試結果與儲存模塊131預設的門檻參數進行比對,並且篩選出測試結果中不符合門檻參數的性能指標。舉例來說,假設測試結果中記錄的性能指標為「CPU ;80%」,而預設的門檻參數記錄的性能指標為「CPU ;70%」,代表CPU使用率超過門檻參數,所以將判斷為不能達到要求(即不符合門檻參數的性能指標),故將此性能指標(CPU使用率)篩選出來。特別要說明的是,本發明並未以此例限定測試結果及門檻參數的記錄方式,換句話說,只要能夠用以比對測試結果與門檻參數且判斷是否超過門檻的方式皆不脫離本發明的應用範疇。
[0034]調整模塊134用以根據篩選出的性能指標選擇調整傳送至各測試端110的測試指令以調整對應的測試數據(也就是調整測試的壓力)直到所有性能指標均符合門檻參數為止。在實際實施上,假設只有其中一個性能指標超過預設的門檻(即只篩選出一個性能指標),調整模塊134會調整未篩選出的性能指標所對應的測試指令以使壓力減半,當壓力減半後,仍然篩選出相同的性能指標時則再次調整未篩選出的性能指標所對應的測試指令以使壓力降低至10%,當壓力降低至10%後,仍然篩選出相同的性能指標時,則調整篩選出的性能指標所對應的測試指令直到此性能指標不再被篩選出來為止,並且調整未篩選出的性能指標所對應的測試指令以使壓力增加直到性能指標不符合門檻參數為止。特別要說明的是,當壓力減半後或壓力降低至10%後,且性能指標不被篩選出時,分別調整其他未篩選出的性能指標以使壓力增加至不符合門檻參數為止。另外,假設調整模塊134在篩選出的性能指標的數量為多個時,先調整每一個篩選出的性能指標所對應的測試指令以使壓力降低至性能指標符合門檻參數後,再針對各性能指標進行調整。
[0035]接著,請參閱「圖2」,「圖2」為本發明分散式壓力測試方法,其步驟包括:預先在測試服務端130提供門檻參數(步驟210);測試服務端130於初始時傳送不同的測試指令至K個測試端110、傳送啟動信息及回傳請求至待測端120,其中K為正整數且大於數值1,待測端包含以網絡相互連接的不同配置的伺服器121或儲存裝置122 (步驟220);每一測試端110在接收到測試指令後,執行此測試指令以產生並傳送對應性能指標的測試數據(步驟230);待測端120接收啟動信息以啟動預設在待測端120的服務程序,以及偵測所述服務程序在處理來自各測試端110的測試數據時的伺服器121或儲存裝置122的狀態以生成包含所有性能指標的測試結果,並且在接收到來自測試服務端130的回傳請求時傳送測試結果至測試服務端130 (步驟240);測試服務端130將測試結果與門檻參數進行比對,並且篩選出測試結果中不符合門檻參數的性能指標(步驟250);測試服務端130根據篩選出的性能指標選擇調整傳送至每一測試端110的測試指令以調整對應的測試數據直到所有性能指標均符合門檻參數為止(步驟260)。通過上述步驟,即可通過測試服務端130傳送不同的測試指令至對應的測試端110,使各測試端110根據測試指令對待測端120進行壓力測試,並且在測試服務端130傳送回傳請求後,由待測端120將測試結果傳送至測試服務端130,以便測試服務端130根據測試結果調整壓力直到所有性能指標均符合預設的門檻參數為止。
[0036]以下配合「圖3」及「圖4」以實施例的方式進行如下說明,請先參閱「圖3」,「圖3」為本發明分散式壓力測試的步驟的示意圖。其中,「A」及「B」為待測端120所提供的服務程序的性能指標,在此例中,由於有二個性能指標「A」及「B」,所以使用二個測試端110來分別對相應的性能指標進行壓力測試,其中,測試服務端130的步驟如下:(1)由測試服務端130傳送測試指令至測試端111,以及傳送啟動信息至待測端120 ; (2)由測試服務端130傳送測試指令至測試端112,以及傳送啟動信息至待測端120 ;(3)由測試服務端130傳送回傳請求至待測端120 ; (4)測試服務端130接收待測端120回傳的測試結果。
[0037]如「圖4」所示意,「圖4」為應用本發明調整測試壓力的步驟的示意圖。前面提到,測試服務端130會接收待測端120回傳的測試結果,此時,測試服務端130的篩選模塊133會將此測試結果與儲存模塊131中預先儲存的門檻參數進行比對,並且篩選出測試結果中不符合門檻參數的性能指標。以上例而言,假設性能指標「A」不符合門檻參數,調整模塊134會調整傳送至測試端111的測試指令以調整對應的測試數據直到性能指標「A」符合門檻參數。此外,也可調整傳送至測試端112的測試指令以調整性能指標「B」直到性能指標「A」符合門檻參數為止。另外,假設具有三個性能指標及「C」的情況,倘若性能指標「A」不符合門檻參數,可先調整傳送至測試端111的測試指令以調整對應的測試數據直到性能指標「A」符合門檻參數,此時可得知在性能指標「B」及「C」的情況下,性能指標「A」所能達到的最大指標,其次分別調整與性能指標「B」及「C」相應的測試指令,看調整哪一個性能指標能夠使性能指標「A」達到要求。特別要說明的是,當發現多個性能指標不符合門檻參數時,需要單獨降低每個不符合的性能指標的測試壓力使其達到要求,然後再針對每一個性能指標進行調整。在實際實施上,假設性能指標「A」不符合門檻參數(步驟410),亦可分別將性能指標「B」及「C」的測試壓力減半(步驟420)後,判斷性能指標「A」是否符合門檻參數(步驟430),假設測試壓力減半後仍不符合門檻參數則再次將性能指標「B」及「C」的測試壓力降低至10% (步驟440),並且判斷測試壓力降低至10%後,性能指標「A」是否符合門檻參數(步驟450),倘若性能指標「A」仍不符合門檻參數,則降低性能指標「A」的測試壓力直到符合門檻參數為止,然後在此基礎上調高性能指標「B」及「C」的測試壓力直到性能指標「A」不符合門檻參數以得到在此性能指標「A」符合門檻參數的情況下,最大能允許的性能指標「B」及「C」的測試壓力。所述性能指標「B」及「C」的調整方式可依序分別調聞。
[0038]承上所述,假設在步驟430時判斷性能指標「A」符合門檻參數,則找出性能指標「B」及「C」中哪一個影響性能指標「A」最大,假設是性能指標「C」影響最大,則單獨調整性能指標「C」直到性能指標「A」不符合門檻參數以得到在性能指標「A」符合門檻參數的情況下,性能指標「B」及「C」所允許的最大測試壓力(步驟431)。另外,假設步驟450時判斷出性能指標「A」符合門檻參數,則同樣以找出性能指標「B」及「C」中哪一個影響性能指標「A」最大,假設是性能指標「C」影響最大,則單獨調整性能指標「C」以便得到使性能指標「A」符合門檻參數的最大值,接著再以同樣方式調整另一性能指標「B」,即可得到在性能指標「A」符合門檻參數的情況下,性能指標「B」及「C」所允許的最大測試壓力(步驟451)。如此一來,使用者即可根據測試服務端130調整的測試壓力及待測端120根據此測試壓力所回傳的測試結果來實現壓力測試。
[0039]綜上所述,可知本發明與現有技術之間的差異在於通過測試服務端傳送不同的測試指令至對應的測試端,使各測試端根據測試指令對待測端進行壓力測試,並且在測試服務端傳送回傳請求後,由待測端將測試結果傳送至測試服務端,以便測試服務端根據測試結果調整壓力直到性能指標符合預設的門檻參數為止,藉由此一技術手段可以解決現有技術所存在的問題,進而達成提高壓力測試的真實性的技術功效。
[0040]雖然本發明以前述的實施例揭露如上,然其並非用以限定本發明,任何本領域技術人員,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,因此本發明的專利保護範圍須視本說明書所附的申請專利範圍所界定者為準。
【權利要求】
1.一種分散式壓力測試系統,其特徵在於,該系統包含: K個測試端,每一測試端在接收到一測試指令後,執行該測試指令以產生並傳送對應一性能指標的一測試數據,其中K為正整數且大於數值I ; 一待測端,該待測端包含以網絡相互連接的不同配置的伺服器或儲存裝置,用以接收一啟動信息以啟動預設在該待測端的至少一服務程序,以及偵測所述服務程序在處理來自各測試端的該測試數據時的該伺服器或該儲存裝置的狀態以生成包含所有性能指標的一測試結果,並且在接收到一回傳請求時傳送該測試結果;以及 一測試服務端,該測試服務端包含; 一儲存模塊,用以預先儲存一門檻參數; 一初始模塊,用以於初始時傳送不同的該測試指令至各測試端、傳送該啟動信息及該回傳請求至該待測端,以及自該待測端接收該測試結果; 一篩選模塊,用以將該測試結果與該門檻參數進行比對,並且篩選出該測試結果中不符合該門檻參數的性能指標;以及 一調整模塊,用以根據篩選出的性能指標選擇調整傳送至每一測試端的該測試指令以調整對應的該測試數據直到所有性能指標均符合該門檻參數為止。
2.根據權利要求1的分散式壓力測試系統,其特徵在於,該調整模塊在篩選出的性能指標的數量為一個時,調整未篩選出的性能指標所對應的測試指令以使壓力減半,當壓力減半後,篩選出的性能指標仍然相同時則再次調整未篩選出的性能指標所對應的測試指令以使壓力降低至10%,當壓力降低至10%後,篩選出的性能指標仍然相同時,調整篩選出的性能指標所對應的測試指令直到該性能指標不再被篩選出為止,並且調整未篩選出的性能指標所對應的測試指令以使壓力增加直到性能指標不符合該門檻參數為止。
3.根據權利要求1的分散式壓力測試系統,其特徵在於,該調整模塊在篩選出的性能指標的數量為多個時,先調整每一篩選出的性能指標所對應的測試指令以使壓力降低至性能指標符合該門檻參數後,再針對各性能指標進行調整。
4.根據權利要求2的分散式壓力測試系統,其特徵在於,當壓力減半後或壓力降低至10%後,性能指標不被篩選出時,分別調整其他未篩選出的性能指標以使壓力增加至不符合該門濫參數為止。
5.根據權利要求1的分散式壓力測試系統,其特徵在於,該門檻參數至少包含中央處理器、存儲器、硬碟或網絡帶寬的性能指標。
6.根據權利要求1的分散式壓力測試系統,其特徵在於,所述不同配置的伺服器或儲存裝置設置於整體機櫃中。
7.一種分散式壓力測試方法,其特徵在於,步驟包括: 預先在一測試服務端提供一門檻參數; 該測試服務端於初始時傳送不同的一測試指令至K個測試端、傳送一啟動信息及一回傳請求至一待測端,其中K為正整數且大於數值1,該待測端包含以網絡相互連接的不同配置的伺服器或儲存裝置; 每一測試端在接收到測試指令後,執行該測試指令以產生並傳送對應一性能指標的一測試數據; 待測端接收該啟動信息以啟動預設在該待測端的至少一服務程序,以及偵測所述服務程序在處理來自各測試端的測試數據時的該伺服器或該儲存裝置的狀態以生成包含所有性能指標的一測試結果,並且在接收到來自該測試服務端的該回傳請求時傳送該測試結果至該測試服務端; 該測試服務端將該測試結果與該門檻參數進行比對,並且篩選出該測試結果中不符合該門濫參數的性能指標;以及 該測試服務端根據篩選出的性能指標選擇調整傳送至每一測試端的該測試指令以調整對應的該測試數據直到所有性能指標均符合該門檻參數為止。
8.根據權利要求7的分散式壓力測試方法,其特徵在於,該根據篩選出的性能指標選擇調整傳送至每一測試端的該測試指令以調整對應的該測試數據的步驟系在篩選出的性能指標的數量為一個時,調整未篩選出的性能指標所對應的測試指令以使壓力減半,當壓力減半後,篩選出的性能指標仍然相同時則再次調整未篩選出的性能指標所對應的測試指令以使壓力降低至10%,當壓力降低至10%後,篩選出的性能指標仍然相同時,調整篩選出的性能指標所對應的測試指令直到該性能指標不再被篩選出為止,並且調整未篩選出的性能指標所對應的測試指令以使壓力增加直到性能指標不符合該門檻參數為止。
9.根據權利要求7的分散式壓力測試方法,其特徵在於,該根據篩選出的性能指標選擇調整傳送至每一測試端的該測試指令以調整對應的該測試數據的步驟系在篩選出的性能指標的數量為多個時,先調整每一篩選出的性能指標所對應的測試指令以使壓力降低至性能指標符合該門檻參數後,再針對各性能指標進行調整。
10.根據權利要求8的分散式壓力測試方法,其特徵在於,當壓力減半後或壓力降低至10%後,性能指標不被篩選出時,分別調整其他未篩選出的性能指標以使壓力增加至不符合該門濫參數為止。
11.根據權利要求7的分散式壓力測試方法,其特徵在於,該門檻參數至少包含中央處理器、存儲器、硬碟或網絡帶寬的性能指標。
12.根據權利要求7的分散式壓力測試方法,其特徵在於,所述不同配置的伺服器或儲存裝置設置於整體機櫃中。
【文檔編號】H04L12/26GK104079445SQ201310108785
【公開日】2014年10月1日 申請日期:2013年3月29日 優先權日:2013年3月29日
【發明者】柏源 申請人:英業達科技有限公司, 英業達股份有限公司