本發(fā)明涉及服務(wù)器測試技術(shù),尤指一種高頻數(shù)據(jù)傳輸壓力測試方法及系統(tǒng)。
背景技術(shù):
在大數(shù)據(jù)時(shí)代,高頻數(shù)據(jù)傳輸通道作為服務(wù)器公共系統(tǒng)接口,可以實(shí)現(xiàn)芯片間直接互聯(lián)的通道,如處理器間快速互聯(lián)通道可實(shí)現(xiàn)多核處理器內(nèi)部的直接互聯(lián),這大大加快了數(shù)據(jù)的傳輸及處理效率。服務(wù)器的快速發(fā)展對(duì)高頻數(shù)據(jù)傳輸設(shè)計(jì)提出越來越高的要求,如超級(jí)通道互連upi(ultrapathinterconnect)數(shù)據(jù)傳輸率可達(dá)10.4gt/s,帶寬更足,靈活性更強(qiáng),每條消息可以發(fā)送多個(gè)請(qǐng)求。在這種情況下,進(jìn)行高頻數(shù)據(jù)傳輸?shù)膲毫y試尤為重要?,F(xiàn)有的測試方法為測試高速數(shù)據(jù)傳輸經(jīng)過的關(guān)鍵節(jié)點(diǎn)的誤碼率來驗(yàn)證服務(wù)器系統(tǒng)運(yùn)行是否穩(wěn)定的方法,上述方法需要多個(gè)測試工具配合才能完成高速數(shù)據(jù)傳輸?shù)姆€(wěn)定性驗(yàn)證,且上述方法并未考慮到真實(shí)的業(yè)務(wù)場景進(jìn)行長時(shí)間的壓力測試。
技術(shù)實(shí)現(xiàn)要素:
為了解決上述技術(shù)問題,本發(fā)明提供了一種高頻數(shù)據(jù)傳輸壓力測試方法及系統(tǒng),通過驗(yàn)證高頻數(shù)據(jù)傳輸壓力,反應(yīng)高速傳輸通道的穩(wěn)定性。
為了達(dá)到本發(fā)明目的,本發(fā)明提供了一種高頻數(shù)據(jù)傳輸壓力測試方法,應(yīng)用于由被測服務(wù)器和壓力機(jī)相互連接組成的測試系統(tǒng),所述被測服務(wù)器包含至少兩個(gè)非統(tǒng)一內(nèi)存訪問numa節(jié)點(diǎn)和至少兩個(gè)網(wǎng)絡(luò)適配器,每個(gè)numa節(jié)點(diǎn)對(duì)應(yīng)一個(gè)網(wǎng)絡(luò)適配器,所述numa節(jié)點(diǎn)之間通過快速互聯(lián)通道qpi通信,包括:
所述被測服務(wù)器將本地第一numa節(jié)點(diǎn)對(duì)應(yīng)的第一網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程第二numa節(jié)點(diǎn),將遠(yuǎn)程第二numa節(jié)點(diǎn)對(duì)應(yīng)的第二網(wǎng)絡(luò)適配器端口分配給本地第一numa節(jié)點(diǎn);
所述壓力機(jī)將本地第一numa節(jié)點(diǎn)對(duì)應(yīng)的第一網(wǎng)絡(luò)適配器端口分配給本地第一numa節(jié)點(diǎn),將遠(yuǎn)程第二numa節(jié)點(diǎn)對(duì)應(yīng)的第二網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程第二numa節(jié)點(diǎn);
所述壓力機(jī)運(yùn)行網(wǎng)絡(luò)測試工具對(duì)所述被測服務(wù)器進(jìn)行高頻數(shù)據(jù)傳輸壓力測試,所述網(wǎng)絡(luò)測試工具為通用的網(wǎng)絡(luò)性能測試開源軟件。
進(jìn)一步地,在被測服務(wù)器將本地第一numa節(jié)點(diǎn)對(duì)應(yīng)的第一網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程第二numa節(jié)點(diǎn),將遠(yuǎn)程第二numa節(jié)點(diǎn)對(duì)應(yīng)的第二網(wǎng)絡(luò)適配器端口分配給本地第一numa節(jié)點(diǎn)之前,該方法還包括:
所述被測服務(wù)器將基本輸入輸出系統(tǒng)bios偵測模式設(shè)置為提早偵測es模式。
進(jìn)一步地,在所述壓力機(jī)運(yùn)行網(wǎng)絡(luò)測試工具對(duì)所述被測服務(wù)器進(jìn)行高頻數(shù)據(jù)傳輸壓力測試之后,該方法還包括:
所述壓力機(jī)收集所述至少兩個(gè)網(wǎng)絡(luò)適配器的性能結(jié)果,或者所述至少兩個(gè)網(wǎng)絡(luò)適配器的狀態(tài),或者系統(tǒng)事件;
所述性能結(jié)果包括網(wǎng)絡(luò)數(shù)據(jù)傳輸速率,當(dāng)所述網(wǎng)絡(luò)數(shù)據(jù)傳輸速率高于預(yù)設(shè)第一閾值時(shí),則表示壓力測試無效;當(dāng)所述網(wǎng)絡(luò)數(shù)據(jù)傳輸速率低于預(yù)設(shè)第二閾值時(shí),則表示壓力測試有效;當(dāng)所述網(wǎng)絡(luò)適配器的狀態(tài)包括掛掉或者錯(cuò)誤時(shí),則表示壓力測試無效;當(dāng)所述系統(tǒng)事件包括系統(tǒng)日志中記錄qpi通道錯(cuò)誤或者系統(tǒng)長時(shí)間無反應(yīng)時(shí),則表示壓力測試無效。
進(jìn)一步地,所述被測服務(wù)器將本地第一numa節(jié)點(diǎn)對(duì)應(yīng)的第一網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程第二numa節(jié)點(diǎn),將遠(yuǎn)程第二numa節(jié)點(diǎn)對(duì)應(yīng)的第二網(wǎng)絡(luò)適配器端口分配給本地第一numa節(jié)點(diǎn),具體包括:
所述被測服務(wù)器執(zhí)行預(yù)先配置的第一命令行外殼powershell腳本,所述第一powershell腳本內(nèi)容包括:
獲取所述第一網(wǎng)絡(luò)適配器端口和第二網(wǎng)絡(luò)適配器端口的硬件信息及多隊(duì)列rss信息,確定本地第一numa節(jié)點(diǎn)和遠(yuǎn)程第二numa節(jié)點(diǎn)的位置;
將本地第一numa節(jié)點(diǎn)對(duì)應(yīng)的第一網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程第二numa節(jié)點(diǎn),將遠(yuǎn)程第二numa節(jié)點(diǎn)對(duì)應(yīng)的第二網(wǎng)絡(luò)適配器端口分配給本地第一numa節(jié)點(diǎn)。
進(jìn)一步地,所述壓力機(jī)將本地第一numa節(jié)點(diǎn)對(duì)應(yīng)的第一網(wǎng)絡(luò)適配器端口分配給本地第一numa節(jié)點(diǎn),將遠(yuǎn)程第二numa節(jié)點(diǎn)對(duì)應(yīng)的第二網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程第二numa節(jié)點(diǎn),具體包括
所述壓力機(jī)執(zhí)行預(yù)先配置的第二powershell腳本,所述第二powershell腳本內(nèi)容包括:
獲取所述第一網(wǎng)絡(luò)適配器端口和第二網(wǎng)絡(luò)適配器端口的硬件信息及多隊(duì)列rss信息,確定本地第一numa節(jié)點(diǎn)和遠(yuǎn)程第二numa節(jié)點(diǎn)的位置;
將本地第一numa節(jié)點(diǎn)對(duì)應(yīng)的第一網(wǎng)絡(luò)適配器端口分配給本地第一numa節(jié)點(diǎn),將遠(yuǎn)程第二numa節(jié)點(diǎn)對(duì)應(yīng)的第二網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程第二numa節(jié)點(diǎn)。
進(jìn)一步地,所述壓力機(jī)中將本地第一numa節(jié)點(diǎn)對(duì)應(yīng)的第一網(wǎng)絡(luò)適配器端口分配給本地第一numa節(jié)點(diǎn)將遠(yuǎn)程第二numa節(jié)點(diǎn)對(duì)應(yīng)的第二網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程第二numa節(jié)點(diǎn),具體包括:
所述壓力機(jī)執(zhí)行安裝的網(wǎng)絡(luò)測試工具中預(yù)先配置的的內(nèi)置命令,所述內(nèi)置命令內(nèi)容包括:
獲取所述第一網(wǎng)絡(luò)適配器端口和第二網(wǎng)絡(luò)適配器端口的硬件信息及多隊(duì)列rss信息,確定本地第一numa節(jié)點(diǎn)和遠(yuǎn)程第二numa節(jié)點(diǎn)的位置;
將本地第一numa節(jié)點(diǎn)對(duì)應(yīng)的第一網(wǎng)絡(luò)適配器端口分配給本地第一numa節(jié)點(diǎn),將遠(yuǎn)程第二numa節(jié)點(diǎn)對(duì)應(yīng)的第二網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程第二numa節(jié)點(diǎn)。
為了達(dá)到本發(fā)明目的,本發(fā)明還提供了一種高頻數(shù)據(jù)傳輸壓力測試系統(tǒng)該系統(tǒng)包括:
相互連接的被測服務(wù)器和壓力機(jī),所述被測服務(wù)器包含至少兩個(gè)numa節(jié)點(diǎn)和至少兩個(gè)網(wǎng)絡(luò)適配器,每個(gè)numa節(jié)點(diǎn)對(duì)應(yīng)一個(gè)網(wǎng)絡(luò)適配器,所述numa節(jié)點(diǎn)之間通過快速互聯(lián)通道qpi通信,
所述被測服務(wù)器,用于將本地第一numa節(jié)點(diǎn)對(duì)應(yīng)的第一網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程第二numa節(jié)點(diǎn),將遠(yuǎn)程第二numa節(jié)點(diǎn)對(duì)應(yīng)的第二網(wǎng)絡(luò)適配器端口分配給本地第一numa節(jié)點(diǎn);
所述壓力機(jī),用于將本地第一numa節(jié)點(diǎn)對(duì)應(yīng)的第一網(wǎng)絡(luò)適配器端口分配給本地第一numa節(jié)點(diǎn),將遠(yuǎn)程第二numa節(jié)點(diǎn)對(duì)應(yīng)的第二網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程第二numa節(jié)點(diǎn);
所述壓力機(jī),還用于運(yùn)行網(wǎng)絡(luò)測試工具對(duì)所述被測服務(wù)器進(jìn)行高頻數(shù)據(jù)傳輸壓力測試,所述網(wǎng)絡(luò)測試工具為通用的網(wǎng)絡(luò)性能測試開源軟件。
進(jìn)一步地,在將本地第一numa節(jié)點(diǎn)對(duì)應(yīng)的第一網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程第二numa節(jié)點(diǎn),將遠(yuǎn)程第二numa節(jié)點(diǎn)對(duì)應(yīng)的第二網(wǎng)絡(luò)適配器端口分配給本地第一numa節(jié)點(diǎn)之前,
所述被測服務(wù)器,還用于將被測服務(wù)器的基本輸入輸出系統(tǒng)bios偵測模式設(shè)置為提早偵測es模式。
進(jìn)一步地,在運(yùn)行網(wǎng)絡(luò)測試工具對(duì)所述被測服務(wù)器進(jìn)行高頻數(shù)據(jù)傳輸壓力測試之后,
所述壓力機(jī)收集所述至少兩個(gè)網(wǎng)絡(luò)適配器的性能結(jié)果,或者所述至少兩個(gè)網(wǎng)絡(luò)適配器的狀態(tài),或者系統(tǒng)事件;
所述性能結(jié)果包括網(wǎng)絡(luò)數(shù)據(jù)傳輸速率,當(dāng)所述網(wǎng)絡(luò)數(shù)據(jù)傳輸速率高于預(yù)設(shè)第一閾值時(shí),則表示壓力測試無效;當(dāng)所述網(wǎng)絡(luò)數(shù)據(jù)傳輸速率低于預(yù)設(shè)第二閾值時(shí),則表示壓力測試有效;當(dāng)所述網(wǎng)絡(luò)適配器的狀態(tài)包括掛掉或者錯(cuò)誤時(shí),則表示壓力測試無效;當(dāng)所述系統(tǒng)事件包括系統(tǒng)日志中記錄qpi通道錯(cuò)誤或者系統(tǒng)長時(shí)間無反應(yīng)時(shí),則表示壓力測試無效。
進(jìn)一步地,所述被測服務(wù)器,具體用于在所述被測服務(wù)器中執(zhí)行預(yù)先配置的第一powershell腳本,所述第一powershell腳本內(nèi)容包括:
獲取所述第一網(wǎng)絡(luò)適配器端口和第二網(wǎng)絡(luò)適配器端口的硬件信息及多隊(duì)列rss信息,確定本地第一numa節(jié)點(diǎn)和遠(yuǎn)程第二numa節(jié)點(diǎn)的位置;
將本地第一numa節(jié)點(diǎn)對(duì)應(yīng)的第一網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程第二numa節(jié)點(diǎn),將遠(yuǎn)程第二numa節(jié)點(diǎn)對(duì)應(yīng)的第二網(wǎng)絡(luò)適配器端口分配給本地第一numa節(jié)點(diǎn)。
進(jìn)一步地,所述壓力機(jī),具體用于在所述壓力機(jī)中執(zhí)行預(yù)先配置的第二powershell腳本,所述第二powershell腳本內(nèi)容包括:
獲取所述第一網(wǎng)絡(luò)適配器端口和第二網(wǎng)絡(luò)適配器端口的硬件信息及多隊(duì)列rss信息,確定本地第一numa節(jié)點(diǎn)和遠(yuǎn)程第二numa節(jié)點(diǎn)的位置;
將本地第一numa節(jié)點(diǎn)對(duì)應(yīng)的第一網(wǎng)絡(luò)適配器端口分配給本地第一numa節(jié)點(diǎn),將遠(yuǎn)程第二numa節(jié)點(diǎn)對(duì)應(yīng)的第二網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程第二numa節(jié)點(diǎn)。
進(jìn)一步地,所述壓力機(jī),具體用于在所述壓力機(jī)中執(zhí)行安裝的網(wǎng)絡(luò)測試工具中預(yù)先配置的內(nèi)置命令,所述內(nèi)置命令內(nèi)容包括:
獲取所述第一網(wǎng)絡(luò)適配器端口和第二網(wǎng)絡(luò)適配器端口的硬件信息及多隊(duì)列rss信息,確定本地第一numa節(jié)點(diǎn)和遠(yuǎn)程第二numa節(jié)點(diǎn)的位置;
將本地第一numa節(jié)點(diǎn)對(duì)應(yīng)的第一網(wǎng)絡(luò)適配器端口分配給本地第一numa節(jié)點(diǎn),將遠(yuǎn)程第二numa節(jié)點(diǎn)對(duì)應(yīng)的第二網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程第二numa節(jié)點(diǎn)。
本發(fā)明提供了一種高頻數(shù)據(jù)傳輸壓力測試的方法,應(yīng)用于由被測服務(wù)器和壓力機(jī)相互連接組成的測試系統(tǒng),所述被測服務(wù)器包含至少兩個(gè)非統(tǒng)一內(nèi)存訪問numa節(jié)點(diǎn)和至少兩個(gè)網(wǎng)絡(luò)適配器,每個(gè)numa節(jié)點(diǎn)對(duì)應(yīng)一個(gè)網(wǎng)絡(luò)適配器,所述numa節(jié)點(diǎn)之間通過快速互聯(lián)通道qpi通信,包括:所述被測服務(wù)器將本地第一numa節(jié)點(diǎn)對(duì)應(yīng)的第一網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程第二numa節(jié)點(diǎn),將遠(yuǎn)程第二numa節(jié)點(diǎn)對(duì)應(yīng)的第二網(wǎng)絡(luò)適配器端口分配給本地第一numa節(jié)點(diǎn);所述壓力機(jī)將本地第一numa節(jié)點(diǎn)對(duì)應(yīng)的第一網(wǎng)絡(luò)適配器端口分配給本地第一numa節(jié)點(diǎn),將遠(yuǎn)程第二numa節(jié)點(diǎn)對(duì)應(yīng)的第二網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程第二numa節(jié)點(diǎn);所述壓力機(jī)運(yùn)行網(wǎng)絡(luò)測試工具對(duì)所述被測服務(wù)器進(jìn)行高頻數(shù)據(jù)傳輸壓力測試,所述網(wǎng)絡(luò)測試工具為通用的網(wǎng)絡(luò)性能測試開源軟件。本發(fā)明采用通過驗(yàn)證高頻數(shù)據(jù)傳輸壓力,反應(yīng)高速傳輸通道的穩(wěn)定性。
本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
附圖說明
附圖用來提供對(duì)本發(fā)明技術(shù)方案的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本申請(qǐng)的實(shí)施例一起用于解釋本發(fā)明的技術(shù)方案,并不構(gòu)成對(duì)本發(fā)明技術(shù)方案的限制。
圖1為本發(fā)明提供的高頻數(shù)據(jù)傳輸壓力測試方法流程示意圖;
圖2為本發(fā)明提供的高頻數(shù)據(jù)傳輸壓力測試系統(tǒng)結(jié)構(gòu)示意圖;
圖3為本發(fā)明實(shí)施例一提供的高頻數(shù)據(jù)傳輸壓力測試方法示意圖。
具體實(shí)施方式
下面將結(jié)合附圖及實(shí)施例對(duì)本發(fā)明的技術(shù)方案進(jìn)行更詳細(xì)的說明。
應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
在后續(xù)的描述中,使用用于表示元件的諸如“模塊”、“部件”或“單元”的后綴僅為了有利于本發(fā)明的說明,其本身沒有特定的意義。因此,“模塊”、“部件”或“單元”可以混合地使用。
非統(tǒng)一內(nèi)存訪問(numa,non-uniformmemoryaccess)是一種用于多處理器的設(shè)計(jì),其內(nèi)存訪問時(shí)間取決于處理器的內(nèi)存位置。在numa下,處理器訪問它自己的本地存儲(chǔ)器的速度比非本地存儲(chǔ)器(存儲(chǔ)器的地方到另一個(gè)處理器之間共享的處理器或存儲(chǔ)器)快一些。numa技術(shù)(,非統(tǒng)一內(nèi)存訪問機(jī)制)中,系統(tǒng)所有內(nèi)存被分為若干個(gè)塊,同時(shí)系統(tǒng)擁有多條內(nèi)存總線,處理器通過每個(gè)內(nèi)存總線與一塊內(nèi)存相連構(gòu)成一個(gè)組,這樣numa系統(tǒng)被分為若干個(gè)組,每個(gè)組被稱為一個(gè)節(jié)點(diǎn)(node)。處于該節(jié)點(diǎn)中的內(nèi)存被稱為本地內(nèi)存(localmemory),處于其它節(jié)點(diǎn)中的內(nèi)存對(duì)于該組而言被稱為遠(yuǎn)程內(nèi)存(foreignmemory)。多隊(duì)列rss(receivesidescaling)技術(shù)可讓網(wǎng)絡(luò)適配器在內(nèi)核模式網(wǎng)絡(luò)處理負(fù)載分布于多核計(jì)算機(jī)中的多個(gè)處理器核心。換言之,rss技術(shù)可以使網(wǎng)絡(luò)適配器綁定多個(gè)處理器核心,這些物理核心可以處于本地numa節(jié)點(diǎn),也可以處于遠(yuǎn)程numa節(jié)點(diǎn)。相比于僅使用一個(gè)核心可能出現(xiàn)的情況,此處理的分布可以支持更高的網(wǎng)絡(luò)流量負(fù)載。服務(wù)器網(wǎng)絡(luò)適配器的主板高速外設(shè)組件互連總線pcie(又稱為pci-express,peripheralcomponentinterconnectexpress是一種高速串行計(jì)算機(jī)擴(kuò)展總線標(biāo)準(zhǔn))插槽位置決定其本地處理器位置及本地numa系統(tǒng)位置。
本發(fā)明提供的技術(shù)方案應(yīng)用于基于windows系統(tǒng)的服務(wù)器,其中,windows操作系統(tǒng)可以通過powershell腳本將一個(gè)網(wǎng)絡(luò)適配器綁定任意處理器核心,即綁定任意numa節(jié)點(diǎn),可以綁定至本地numa節(jié)點(diǎn)或遠(yuǎn)程numa節(jié)點(diǎn),各個(gè)節(jié)點(diǎn)自有含有多個(gè)核心的處理器以及內(nèi)存,本地節(jié)點(diǎn)訪問其它遠(yuǎn)程節(jié)點(diǎn)的內(nèi)存則通過快速互聯(lián)通道qpi(quickpathinterconnect)。本發(fā)明采用通過測試處理器之間、內(nèi)存與處理器之間、pcie高速擴(kuò)展設(shè)備網(wǎng)絡(luò)適配器的數(shù)據(jù)傳輸性能來驗(yàn)證服務(wù)器在高頻數(shù)據(jù)傳輸情況下是否能夠穩(wěn)定運(yùn)行。通過測試網(wǎng)絡(luò)適配器的數(shù)據(jù)傳輸狀態(tài)及性能,來驗(yàn)證高頻數(shù)據(jù)傳輸設(shè)計(jì)是否合理,能否滿足市場業(yè)務(wù)需求。
圖1為本發(fā)明提供的高頻數(shù)據(jù)傳輸壓力測試方法流程示意圖,如圖1所示,本發(fā)明提供了一種高頻數(shù)據(jù)傳輸壓力測試的方法,應(yīng)用于由被測服務(wù)器和壓力機(jī)相互連接組成的測試系統(tǒng),所述被測服務(wù)器包含至少2個(gè)numa節(jié)點(diǎn)和至少2個(gè)網(wǎng)絡(luò)適配器,每個(gè)numa節(jié)點(diǎn)對(duì)應(yīng)一個(gè)網(wǎng)絡(luò)適配器,所述numa節(jié)點(diǎn)之間通過快速互聯(lián)通道qpi通信,包括:
所述被測服務(wù)器將本地第一numa節(jié)點(diǎn)對(duì)應(yīng)的第一網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程第二numa節(jié)點(diǎn),將遠(yuǎn)程第二numa節(jié)點(diǎn)對(duì)應(yīng)的第二網(wǎng)絡(luò)適配器端口分配給本地第一numa節(jié)點(diǎn);
所述壓力機(jī)將本地第一numa節(jié)點(diǎn)對(duì)應(yīng)的第一網(wǎng)絡(luò)適配器端口分配給本地第一numa節(jié)點(diǎn),將遠(yuǎn)程第二numa節(jié)點(diǎn)對(duì)應(yīng)的第二網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程第二numa節(jié)點(diǎn);
所述壓力機(jī)運(yùn)行網(wǎng)絡(luò)測試工具對(duì)所述被測服務(wù)器進(jìn)行高頻數(shù)據(jù)傳輸壓力測試,所述網(wǎng)絡(luò)測試工具為通用的網(wǎng)絡(luò)性能測試開源軟件。
通用的網(wǎng)絡(luò)性能測試開源軟件包括以下之一:ntttcp(networkperformancetool)測試工具、netcps測試工具、jperf測試工具等。
進(jìn)一步地,所述被測服務(wù)器將本地第一numa節(jié)點(diǎn)對(duì)應(yīng)的第一網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程第二numa節(jié)點(diǎn),將遠(yuǎn)程第二numa節(jié)點(diǎn)對(duì)應(yīng)的第二網(wǎng)絡(luò)適配器端口分配給本地第一numa節(jié)點(diǎn),具體包括:
所述被測服務(wù)器執(zhí)行預(yù)先寫好的第一powershell腳本,所述第一powershell腳本內(nèi)容包括:
獲取所述第一網(wǎng)絡(luò)適配器端口和第二網(wǎng)絡(luò)適配器端口的硬件信息及多隊(duì)列rss信息,確定本地第一numa節(jié)點(diǎn)和遠(yuǎn)程第二numa節(jié)點(diǎn)的位置;
將本地第一numa節(jié)點(diǎn)對(duì)應(yīng)的第一網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程第二numa節(jié)點(diǎn),將遠(yuǎn)程第二numa節(jié)點(diǎn)對(duì)應(yīng)的第二網(wǎng)絡(luò)適配器端口分配給本地第一numa節(jié)點(diǎn)。
進(jìn)一步地,所述壓力機(jī)將本地第一numa節(jié)點(diǎn)對(duì)應(yīng)的第一網(wǎng)絡(luò)適配器端口分配給本地第一numa節(jié)點(diǎn),將遠(yuǎn)程第二numa節(jié)點(diǎn)對(duì)應(yīng)的第二網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程第二numa節(jié)點(diǎn),具體包括
所述壓力機(jī)中執(zhí)行預(yù)先寫好的第二powershell腳本,所述第二powershell腳本內(nèi)容包括:
獲取所述第一網(wǎng)絡(luò)適配器端口和第二網(wǎng)絡(luò)適配器端口的硬件信息及多隊(duì)列rss信息,確定本地第一numa節(jié)點(diǎn)和遠(yuǎn)程第二numa節(jié)點(diǎn)的位置;
將本地第一numa節(jié)點(diǎn)對(duì)應(yīng)的第一網(wǎng)絡(luò)適配器端口分配給本地第一numa節(jié)點(diǎn),將遠(yuǎn)程第二numa節(jié)點(diǎn)對(duì)應(yīng)的第二網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程第二numa節(jié)點(diǎn)。
進(jìn)一步地,所述壓力機(jī)將本地第一numa節(jié)點(diǎn)對(duì)應(yīng)的第一網(wǎng)絡(luò)適配器端口分配給本地第一numa節(jié)點(diǎn),將遠(yuǎn)程第二numa節(jié)點(diǎn)對(duì)應(yīng)的第二網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程第二numa節(jié)點(diǎn),具體包括
所述壓力機(jī)執(zhí)行安裝的網(wǎng)絡(luò)測試工具中的內(nèi)置命令,所述內(nèi)置命令內(nèi)容包括:
獲取所述第一網(wǎng)絡(luò)適配器端口和第二網(wǎng)絡(luò)適配器端口的硬件信息及多隊(duì)列rss信息,確定本地第一numa節(jié)點(diǎn)和遠(yuǎn)程第二numa節(jié)點(diǎn)的位置;
將本地第一numa節(jié)點(diǎn)對(duì)應(yīng)的第一網(wǎng)絡(luò)適配器端口分配給本地第一numa節(jié)點(diǎn),將遠(yuǎn)程第二numa節(jié)點(diǎn)對(duì)應(yīng)的第二網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程第二numa節(jié)點(diǎn)。
進(jìn)一步地,在所述被測服務(wù)器將本地第一numa節(jié)點(diǎn)對(duì)應(yīng)的第一網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程第二numa節(jié)點(diǎn),將遠(yuǎn)程第二numa節(jié)點(diǎn)對(duì)應(yīng)的第二網(wǎng)絡(luò)適配器端口分配給本地第一numa節(jié)點(diǎn)之前,該方法還包括:
所述被測服務(wù)器將基本輸入輸出系統(tǒng)bios偵測模式設(shè)置為提早偵測es模式。
進(jìn)一步地,在所述壓力機(jī)運(yùn)行網(wǎng)絡(luò)測試工具對(duì)所述被測服務(wù)器進(jìn)行高頻數(shù)據(jù)傳輸壓力測試之后,該方法還包括:
所述壓力機(jī)收集所述至少兩個(gè)網(wǎng)絡(luò)適配器的性能結(jié)果,或者所述至少兩個(gè)網(wǎng)絡(luò)適配器的狀態(tài),或者系統(tǒng)事件;
進(jìn)一步地,所述性能結(jié)果包括網(wǎng)絡(luò)數(shù)據(jù)傳輸速率,當(dāng)所述網(wǎng)絡(luò)數(shù)據(jù)傳輸速率高于預(yù)設(shè)第一閾值時(shí),則表示壓力測試無效;當(dāng)所述網(wǎng)絡(luò)數(shù)據(jù)傳輸速率低于預(yù)設(shè)第二閾值時(shí),則表示壓力測試有效;例如可以預(yù)先設(shè)定第一閾值為2400gb/s,第二閾值為1900gb/s。
進(jìn)一步地,所述網(wǎng)絡(luò)適配器的狀態(tài)包括掛掉或者錯(cuò)誤,則表示測試無效。
進(jìn)一步地,所述系統(tǒng)事件包括系統(tǒng)日志中記錄qpi通道錯(cuò)誤或者系統(tǒng)長時(shí)間無反映,則表示測試無效。
本發(fā)明提供的高頻數(shù)據(jù)傳輸壓力測試方法,利用網(wǎng)絡(luò)測試工具來驗(yàn)證服務(wù)器高頻數(shù)據(jù)傳輸?shù)膲毫y試,能夠有效驗(yàn)證服務(wù)器高頻數(shù)據(jù)傳輸通道的設(shè)計(jì)是否合理,穩(wěn)定性是否滿足實(shí)際業(yè)務(wù)場景的需求。利用該方法可以結(jié)合實(shí)際的業(yè)務(wù)場景真實(shí)有效地對(duì)高頻數(shù)據(jù)傳輸通道施加壓力,反應(yīng)系統(tǒng)運(yùn)行狀態(tài)及高速數(shù)據(jù)傳輸通道的穩(wěn)定性。
圖2為本發(fā)明提供的高頻數(shù)據(jù)傳輸壓力測試系統(tǒng)結(jié)構(gòu)示意圖,如圖2所示,該系統(tǒng)包括:
相互連接的被測服務(wù)器和壓力機(jī),所述被測服務(wù)器包含至少2個(gè)numa節(jié)點(diǎn)和至少2個(gè)網(wǎng)絡(luò)適配器,每個(gè)numa節(jié)點(diǎn)對(duì)應(yīng)一個(gè)網(wǎng)絡(luò)適配器,所述numa節(jié)點(diǎn)之間通過快速互聯(lián)通道qpi通信,
所述被測服務(wù)器,用于將本地第一numa節(jié)點(diǎn)對(duì)應(yīng)的第一網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程第二numa節(jié)點(diǎn),將遠(yuǎn)程第二numa節(jié)點(diǎn)對(duì)應(yīng)的第二網(wǎng)絡(luò)適配器端口分配給本地第一numa節(jié)點(diǎn);
所述壓力機(jī),用于將本地第一numa節(jié)點(diǎn)對(duì)應(yīng)的第一網(wǎng)絡(luò)適配器端口分配給本地第一numa節(jié)點(diǎn),將遠(yuǎn)程第二numa節(jié)點(diǎn)對(duì)應(yīng)的第二網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程第二numa節(jié)點(diǎn);
所述壓力機(jī),還用于運(yùn)行網(wǎng)絡(luò)測試工具對(duì)所述被測服務(wù)器進(jìn)行高頻數(shù)據(jù)傳輸壓力測試,所述網(wǎng)絡(luò)測試工具為通用的網(wǎng)絡(luò)性能測試開源軟件。
其中,壓力機(jī)可以為多個(gè)。通用的網(wǎng)絡(luò)性能測試開源軟件包括以下之一:ntttcp(networkperformancetool)測試工具、netcps測試工具、jperf測試工具等。
進(jìn)一步地,所述被測服務(wù)器,具體用于在所述被測服務(wù)器中執(zhí)行預(yù)先寫好的第一powershell腳本,所述第一powershell腳本內(nèi)容包括:
獲取所述第一網(wǎng)絡(luò)適配器端口和第二網(wǎng)絡(luò)適配器端口的硬件信息及多隊(duì)列rss信息,確定本地第一numa節(jié)點(diǎn)和遠(yuǎn)程第二numa節(jié)點(diǎn)的位置;
將本地第一numa節(jié)點(diǎn)對(duì)應(yīng)的第一網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程第二numa節(jié)點(diǎn),將遠(yuǎn)程第二numa節(jié)點(diǎn)對(duì)應(yīng)的第二網(wǎng)絡(luò)適配器端口分配給本地第一numa節(jié)點(diǎn)。
進(jìn)一步地,所述壓力機(jī),具體用于在所述壓力機(jī)中執(zhí)行預(yù)先寫好的第二powershell腳本,所述第二powershell腳本內(nèi)容包括:
獲取所述第一網(wǎng)絡(luò)適配器端口和第二網(wǎng)絡(luò)適配器端口的硬件信息及多隊(duì)列rss信息,確定本地第一numa節(jié)點(diǎn)和遠(yuǎn)程第二numa節(jié)點(diǎn)的位置;
將本地第一numa節(jié)點(diǎn)對(duì)應(yīng)的第一網(wǎng)絡(luò)適配器端口分配給本地第一numa節(jié)點(diǎn),將遠(yuǎn)程第二numa節(jié)點(diǎn)對(duì)應(yīng)的第二網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程第二numa節(jié)點(diǎn)。
進(jìn)一步地,所述壓力機(jī),具體用于在所述壓力機(jī)中執(zhí)行安裝的網(wǎng)絡(luò)測試工具中的內(nèi)置命令,所述內(nèi)置命令內(nèi)容包括:
獲取所述第一網(wǎng)絡(luò)適配器端口和第二網(wǎng)絡(luò)適配器端口的硬件信息及多隊(duì)列rss信息,確定本地第一numa節(jié)點(diǎn)和遠(yuǎn)程第二numa節(jié)點(diǎn)的位置;
將本地第一numa節(jié)點(diǎn)對(duì)應(yīng)的第一網(wǎng)絡(luò)適配器端口分配給本地第一numa節(jié)點(diǎn),將遠(yuǎn)程第二numa節(jié)點(diǎn)對(duì)應(yīng)的第二網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程第二numa節(jié)點(diǎn)。
進(jìn)一步地,所述被測服務(wù)器,還用于在將本地第一numa節(jié)點(diǎn)對(duì)應(yīng)的第一網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程第二numa節(jié)點(diǎn),將遠(yuǎn)程第二numa節(jié)點(diǎn)對(duì)應(yīng)的第二網(wǎng)絡(luò)適配器端口分配給本地第一numa節(jié)點(diǎn)之前,將被測服務(wù)器的基本輸入輸出系統(tǒng)bios偵測模式設(shè)置為提早偵測es模式。
進(jìn)一步地,所述壓力機(jī),還用于在運(yùn)行網(wǎng)絡(luò)測試工具對(duì)所述被測服務(wù)器進(jìn)行高頻數(shù)據(jù)傳輸壓力測試之后,
所述壓力機(jī),還用于收集所述至少兩個(gè)網(wǎng)絡(luò)適配器的性能結(jié)果,或者所述至少兩個(gè)網(wǎng)絡(luò)適配器的狀態(tài),或者系統(tǒng)事件;
進(jìn)一步地,所述性能結(jié)果包括網(wǎng)絡(luò)數(shù)據(jù)傳輸速率,當(dāng)所述網(wǎng)絡(luò)數(shù)據(jù)傳輸速率高于預(yù)設(shè)第一閾值時(shí),則表示壓力測試無效;當(dāng)所述網(wǎng)絡(luò)數(shù)據(jù)傳輸速率低于預(yù)設(shè)第二閾值時(shí),則表示壓力測試有效;例如可以預(yù)先設(shè)定第一閾值為2400gb/s,第二閾值為1900gb/s。
進(jìn)一步地,所述網(wǎng)絡(luò)適配器的狀態(tài)包括掛掉或者錯(cuò)誤,則表示測試無效。
進(jìn)一步地,所述系統(tǒng)事件包括系統(tǒng)日志中記錄qpi通道錯(cuò)誤或者系統(tǒng)長時(shí)間無反映,則表示測試無效。
實(shí)施例一
本實(shí)施例中,網(wǎng)絡(luò)測試工具以ntttcp(networkperformancetool)測試工具為例,詳細(xì)說明本發(fā)明技術(shù)方案。
圖3為本發(fā)明實(shí)施例一提供的高頻數(shù)據(jù)傳輸壓力測試方法示意圖,如圖3所示,該測試方法具體過程如下:
在標(biāo)準(zhǔn)windows測試環(huán)境下進(jìn)行,所述測試環(huán)境包括一臺(tái)被測服務(wù)器及若干壓力機(jī)。使用預(yù)先寫好的powershell腳本將被測服務(wù)器本地節(jié)點(diǎn)的網(wǎng)絡(luò)適配器端口分配遠(yuǎn)程numa節(jié)點(diǎn),即將屬于numa節(jié)點(diǎn)1的端口分配numa節(jié)點(diǎn)2,將屬于numa節(jié)點(diǎn)2的端口分配numa節(jié)點(diǎn)1。壓力機(jī)中安裝有網(wǎng)絡(luò)測試工具,本實(shí)施例中采用可以將處理器核心綁定至具體網(wǎng)絡(luò)適配器端口的網(wǎng)絡(luò)測試工具,如ntttcp工具。在壓力機(jī)中通過網(wǎng)絡(luò)測試工具,將網(wǎng)絡(luò)適配器端口分配給本地的numa節(jié)點(diǎn),即將屬于numa節(jié)點(diǎn)1的端口分配本地numa節(jié)點(diǎn)1,將屬于numa節(jié)點(diǎn)2的端口分配本地numa節(jié)點(diǎn)2。當(dāng)被測服務(wù)器偵測模式處于es模式,上述反復(fù)交叉設(shè)置將導(dǎo)致大量的qpi偵測循環(huán),從而達(dá)到對(duì)高頻數(shù)據(jù)傳輸通道施加壓力,如圖3所示。在如此大的壓力下,網(wǎng)絡(luò)適配器端口的吞吐量性能將大幅下降、卡住或出現(xiàn)僵尸態(tài),在這種情況下,觀察系統(tǒng)運(yùn)行是否正常,是否有系統(tǒng)錯(cuò)誤出現(xiàn)。
被測服務(wù)器運(yùn)行高頻數(shù)據(jù)傳輸壓力測試方法主要包括以下步驟:
(1)壓力測試前,將被測服務(wù)器的bios偵測模式設(shè)置為es模式,numa架構(gòu)開啟;
(2)服務(wù)器主板全部pcie槽位
(3)壓力測試前,獲取網(wǎng)絡(luò)適配器端口硬件信息及rss信息,確定網(wǎng)絡(luò)適配器本地numa節(jié)點(diǎn)位置;
(4)重命名網(wǎng)絡(luò)適配器端口,以簡化為原則,如0-1,0表示pcieslot位置,1代表網(wǎng)絡(luò)適配器端口號(hào);
(5)使用powershell腳本將被測服務(wù)器本地節(jié)點(diǎn)的網(wǎng)絡(luò)適配器端口分配遠(yuǎn)程numa節(jié)點(diǎn),例如腳本內(nèi)容可以包括如下內(nèi)容(slot0位置網(wǎng)卡(網(wǎng)絡(luò)適配器1)的本地numa節(jié)點(diǎn)為1,遠(yuǎn)程numa節(jié)點(diǎn)為3,slot1位置網(wǎng)卡(網(wǎng)絡(luò)適配器2)的本地numa節(jié)點(diǎn)為2,遠(yuǎn)程numa節(jié)點(diǎn)為1):
(6)驗(yàn)證被測服務(wù)器與壓力機(jī)網(wǎng)絡(luò)連通性;
(7)在網(wǎng)絡(luò)測試工具中,使用內(nèi)置命令參數(shù)將網(wǎng)絡(luò)適配器端口分配本地numa節(jié)點(diǎn);
(8)運(yùn)行壓力機(jī)的網(wǎng)絡(luò)測試工具;
(9)運(yùn)行被測服務(wù)器的網(wǎng)絡(luò)測試工具,將測試時(shí)間設(shè)置為48小時(shí);
(10)壓力測試結(jié)束后,收集網(wǎng)絡(luò)適配器的性能結(jié)果、網(wǎng)絡(luò)適配器狀態(tài)及系統(tǒng)事件。
本發(fā)明采用通過測試處理器間快速互聯(lián)通道、內(nèi)存控制器間互聯(lián)通道、pcie高速擴(kuò)展設(shè)備網(wǎng)絡(luò)適配器的數(shù)據(jù)傳輸性能來驗(yàn)證高頻數(shù)據(jù)傳輸設(shè)計(jì)是否合理。使用powershell腳本將被測服務(wù)器本地節(jié)點(diǎn)的網(wǎng)絡(luò)適配器端口分配給遠(yuǎn)程numa節(jié)點(diǎn),即在內(nèi)核空間強(qiáng)制將被測服務(wù)器的網(wǎng)絡(luò)適配器端口分配至遠(yuǎn)程numa節(jié)點(diǎn);在網(wǎng)絡(luò)測試應(yīng)用程序?qū)用鎸⒕W(wǎng)絡(luò)適配器端口分配給本地numa節(jié)點(diǎn),即在用戶空間強(qiáng)制將被測服務(wù)器的網(wǎng)絡(luò)適配器端口分配至本地numa節(jié)點(diǎn)。如此設(shè)置將導(dǎo)致高頻數(shù)據(jù)傳輸通道處于高壓力狀態(tài)。
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文中將結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說明。需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。
在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行。并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
雖然本發(fā)明所揭露的實(shí)施方式如上,但所述的內(nèi)容僅為便于理解本發(fā)明而采用的實(shí)施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬領(lǐng)域內(nèi)的技術(shù)人員,在不脫離本發(fā)明所揭露的精神和范圍的前提下,可以在實(shí)施的形式及細(xì)節(jié)上進(jìn)行任何的修改與變化,但本發(fā)明的專利保護(hù)范圍,仍須以所附的權(quán)利要求書所界定的范圍為準(zhǔn)
雖然本發(fā)明所揭露的實(shí)施方式如上,但所述的內(nèi)容僅為便于理解本發(fā)明而采用的實(shí)施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬領(lǐng)域內(nèi)的技術(shù)人員,在不脫離本發(fā)明所揭露的精神和范圍的前提下,可以在實(shí)施的形式及細(xì)節(jié)上進(jìn)行任何的修改與變化,但本發(fā)明的專利保護(hù)范圍,仍須以所附的權(quán)利要求書所界定的范圍為準(zhǔn)。