本發明涉及計算機技術領域,特別涉及一種加速卡測試方法及裝置。
背景技術:
加速卡是一種可直接插接到服務器的標準總線接口插槽上,實現加密運算、解密運算和解壓縮運算功能的板卡,在將加速卡插接到服務器的標準總線接口插槽之后,通常還需要對加速卡的性能進行測試。
目前,測試加速卡性能的方式,主要是針對安裝加速卡后的服務器在壓力測試工具Siege提供大流量環境下,處理器的負載情況來衡量加速卡性能。
通過上述方式衡量加速卡性能時,與處理器的負載情況有關,而處理器很容易受到其他業務條件的影響而出現負載失衡,導致測試結果的準確性極差。
技術實現要素:
本發明實施例提供了一種加速卡測試方法及裝置,可提高測試結果的準確性。
第一方面,本發明提供了一種加速卡測試方法,應用于測試服務器,包括:
獲取并安裝QAT驅動程序;
獲取并安裝openssl驅動程序;
接收外部設備發送的測試請求,根據所述測試請求觸發所述QAT驅動程序;
通過所述QAT驅動程序驅動待測加速卡分別執行設定次數的加密運算、解密運算和解壓縮運算;
通過所述openssl驅動程序獲取所述待測加速卡分別完成設定次數的加密運算、解密運算和解壓縮運算時對應的運算時長。
優選地,在所述接收外部設備發送的測試請求之前,還包括:
檢測是否存在待測加速卡與所述測試服務器相連。
優選地,在所述獲取并安裝openssl驅動程序之后,還包括:通過所述openssl驅動程序預先設置加密運算、解密運算和解壓縮運算分別對應的時間閾值;
在所述通過所述openssl驅動程序獲取待測加速卡分別完成設定次數的加密運算、解密運算和解壓縮運算時對應的運算時長之后,還包括:
通過所述openssl驅動程序比較加密運算、解密運算和解壓縮運算分別對應的時間閾值和運算時長,并根據比較結果確定所述待測加速卡的性能是否合格。
優選地,所述接收外部設備發送的測試請求,根據所述測試請求觸發所述QAT驅動程序,包括:
接收外部設備發送的攜帶設定次數number的測試請求,通過如下指令觸發所述QAT驅動程序:
./apps/openssl speed-engine qat rsa2048-elapsed-asynch-batch number-multi 1。
第二方面,本發明實施例提供了一種加速卡測試裝置,應用于測試服務器,包括:
第一處理模塊,用于獲取并安裝QAT驅動程序;
第二處理模塊,用于獲取并安裝openssl驅動程序;
第三處理模塊,用于接收外部設備發送的測試請求,根據所述測試請求觸發所述QAT驅動程序;
所述QAT驅動程序,用于驅動待測加速卡分別執行設定次數的加密運算、解密運算和解壓縮運算;
所述openssl驅動程序,用于獲取所述待測加速卡分別完成設定次數的加密運算、解密運算和解壓縮運算時對應的運算時長。
優選地,還包括:
檢測模塊,用于檢測是否存在待測加速卡與所述測試服務器相連。
優選地,所述openssl驅動程序,進一步用于預先設置加密運算、解密運算和解壓縮運算分別對應的時間閾值;比較加密運算、解密運算和解壓縮運算分別對應的時間閾值和運算時長,并根據比較結果確定所述待測加速卡的性能是否合格。
優選地,所述第三處理模塊,用于接收外部設備發送的攜帶設定次數number的測試請求,通過如下指令觸發所述QAT驅動程序:
./apps/openssl speed-engine qat rsa2048-elapsed-asynch-batch number-multi 1。
第三方面,本發明實施例提供了一種可讀介質,包括執行指令,當存儲控制器的處理器執行所述執行指令時,所述存儲控制器執行第一方面中任一項所述的方法。
第四方面,本發明實施例提供了一種存儲控制器,包括:處理器、存儲器和總線;
所述處理器和所述存儲器通過所述總線連接;
所述存儲器,當所述存儲控制器運行時,所述處理器執行所述存儲器存儲的所述執行指令,以使所述存儲控制器執行第一方面中任一項所述的方法。
本發明實施例提供了一種加速卡測試方法及裝置,在該方法中,通過測試服務器獲取并安裝QAT驅動程序和openssl驅動程序,在接收到外部設備發送的測試請求時,則可觸發安裝的QAT驅動程序,由QAT驅動程序驅動待測加速卡分別執行設定次數的加密運算、解密運算和解壓縮運算,同時由openssl驅動程序獲取待測加速卡分別完成設定次數的加密運算、解密運算和解壓縮運算時對應的運算時長,即實現對加速卡的性能進行測試。綜上可見,通過在測試服務器內安裝QAT驅動程序和openssl驅動程序的方式,測試結果(即運算時長)不再依賴于處理器的負載情況,可提高測試結果的準確性。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是本發明一實施例提供的一種加速卡測試方法的流程圖;
圖2是本發明一實施例提供的另一種加速卡測試方法的流程圖;
圖3是本發明一實施例提供的一種加速卡測試裝置的結構示意圖;
圖4是本發明一實施例提供的另一種加速卡測試裝置的結構示意圖;
圖5是本發明一實施例提供的又一種加速卡測試裝置的結構示意圖;
圖6是本發明一實施例提供的一種存儲控制器的結構示意圖。
具體實施方式
為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例,基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動的前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
如圖1所示,本發明實施例提供了一種加速卡測試方法,應用于測試服務器,包括:
步驟101,獲取并安裝QAT驅動程序;
步驟102,獲取并安裝openssl驅動程序;
步驟103,接收外部設備發送的測試請求,根據所述測試請求觸發所述QAT驅動程序;
步驟104,通過所述QAT驅動程序驅動待測加速卡分別執行設定次數的加密運算、解密運算和解壓縮運算;
步驟105,通過所述openssl驅動程序獲取所述待測加速卡分別完成設定次數的加密運算、解密運算和解壓縮運算時對應的運算時長。
本發明上述實施例中,通過測試服務器獲取并安裝QAT驅動程序和openssl驅動程序,在接收到外部設備發送的測試請求時,則可觸發安裝的QAT驅動程序,由QAT驅動程序驅動待測加速卡分別執行設定次數的加密運算、解密運算和解壓縮運算,同時由openssl驅動程序獲取待測加速卡分別完成設定次數的加密運算、解密運算和解壓縮運算時對應的運算時長,即實現對加速卡的性能進行測試。綜上可見,通過在測試服務器內安裝QAT驅動程序和openssl驅動程序的方式,測試結果(即運算時長)不再依賴于處理器的負載情況,可提高測試結果的準確性。
進一步的,由于加速卡通常通過測試服務器上的標準總線接口插槽插接到測試服務器上,為了確保工作人員將待測加速卡插接到測試服務器上時,測試服務器與加速卡確實成功連接,且已經被測試服務器所識別,本發明一個實施例中,在所述接收外部設備發送的測試請求之前,還包括:檢測是否存在待測加速卡與所述測試服務器相連。如此,只有在確保待測加速卡與測試服務器成功連接時,工作人員才可通過相應的輸入設備向測試服務器發送測試指令,以實現測試待測加速卡的性能。
進一步的,為了實現根據實際業務需求,設置相應的時間閾值來衡量加速卡的性能是否合格,本發明一個實施例中,在所述獲取并安裝openssl驅動程序之后,還包括:通過所述openssl驅動程序預先設置加密運算、解密運算和解壓縮運算分別對應的時間閾值;
在所述通過所述openssl驅動程序獲取待測加速卡分別完成設定次數的加密運算、解密運算和解壓縮運算時對應的運算時長之后,還包括:
通過所述openssl驅動程序比較加密運算、解密運算和解壓縮運算分別對應的時間閾值和運算時長,并根據比較結果確定所述待測加速卡的性能是否合格。
本發明上述實施例中,加密運算、解密運算和解壓縮運算分別對應的運算時長中,當任意一個運算時長大于對應的時間閾值時,則可確定待測加速卡的性能不合格。相反地,當加密運算、解密運算和解壓縮運算分別對應的運算時長均不大于對應的時間閾值時,則可確定待測加速卡的性能合格。
進一步的,為了實現根據用戶實際業務需求合理設置待測加速卡進行加密運算、解密運算及解壓縮運算的次數,本發明一個實施例中,所述接收外部設備發送的測試請求,根據所述測試請求觸發所述QAT驅動程序,包括:
接收外部設備發送的攜帶設定次數number的測試請求,通過如下指令觸發所述QAT驅動程序:
./apps/openssl speed-engine qat rsa2048-elapsed-asynch-batch number-multi 1。
本發明上述實施例中,該條指令中的number即為用戶根據實際業務需求,通過相應的輸入設備發送的測試請求中攜帶的設定次數,QAT驅動程序可根據該條指令中攜帶的設定次數number驅動待測加速卡分別進行對應該設定次數number的加密運算、解密運算和加解密運算。
為了更加清楚的說明本發明的技術方案及優點,下面結合圖2所示的實施例做進一步的說明,具體包括如下各個步驟:
步驟201,將待測加速卡插接到測試服務器的標準總線接口插槽。
步驟202,檢測是否存在待測加速卡與所述測試服務器相連。
這里,即檢測測試服務器的標準總線接口插槽是否與待測加速卡成功連接。具體了,在檢測待測加速卡與測試服務器是否相連時,如果對應測試服務器的顯示設備上輸出如下所示的識別信息,則說明測試服務器與待測加速卡已經成功連接,且待測加速卡已經被測試服務器識別為加速卡:
[root@localhost~]#lspci|grep Co-processor
03:00.0 Co-processor:Intel Corporation Coleto Creek PCIe Endpoint
82:00.0 Co-processor:Intel Corporation Coleto Creek PCIe Endpoint.
步驟203,獲取并安裝QAT驅動程序。
這里,具體可以通過如下代碼實現安裝QAT驅動程序:
mkdir/QAT
cd/QAT
tar–zxof qatmux.l.2.5.0-80
chmod-R 770/QAT
sh install.sh.
步驟204,獲取并安裝openssl驅動程序。
這里,具體可以通過如下代碼實現安裝openssl驅動程序:
步驟205,通過openssl驅動程序預先設置加密運算、解密運算和解壓縮運算分別對應的時間閾值。
步驟206,接收外設備輸入的測試請求攜帶設定次數number的測試請求,并根據該測試請求觸發QAT驅動程序。
具體地,在接收到用戶通過相應的輸入設備發送的攜帶設定次數number的測試請求之后,則可具體通過如下指令觸發QAT驅動程序:
./apps/openssl speed -engine qat rsa2048-elapsed-asynch-batch number-multi 1。
步驟207,QAT驅動程序驅動待測加速卡分別執行設定次數number的加密運算、解密運算和解壓縮運算。
步驟208,openssl驅動程序獲取待測加速卡分別完成設定次數number的加密運算、解密運算和解壓縮運算時對應的運算時長。
步驟209,openssl驅動程序比較加密運算、解密運算和解壓縮運算分別對應的時間閾值和運算時長,判斷各個運算時長是否均不大于對應的時間閾值,如果是,則執行步驟210;否則,執行步驟211。
本發明實施例中,設定次數可以結合用戶實際業務需求進行合理設置,舉例來說,可設定次數number為100次,加密運算、解密運算和解壓縮運算分別對應的時間閾值為:30s、30s和3秒,即衡量加速卡的性能合格的標準為:加速卡分別進行100次加密運算和100次解密運算時,所占用的運算時長均不應大于30s,且加速卡進行100次解壓縮運算時,所占用的運算時長不應大于3秒。
步驟210,確定待檢測加速卡的性能合格。
步驟211,確定待檢測加速卡的性能不合格。
如圖3、圖4所示,本發明實施例提供了一種加速卡測試裝置。裝置實施例可以通過軟件實現,也可以通過硬件或者軟硬件結合的方式實現。從硬件層面而言,如圖3所示,為本發明實施例提供的加速卡測試裝置所在測試服務器的一種硬件結構圖,除了圖3所示的處理器、內存、網絡接口、以及非易失性存儲器之外,實施例中裝置所在的設備通常還可以包括其他硬件,如負責處理報文的轉發芯片等等。以軟件實現為例,如圖4所示,作為一個邏輯意義上的裝置,是通過其所在設備的CPU將非易失性存儲器中對應的計算機程序指令讀取到內存中運行形成的。
具體地,如圖4所示,本發明實施例提供了一種加速卡測試裝置,應用于測試服務器,包括:
第一處理模塊401,用于獲取并安裝QAT驅動程序402;
第二處理模塊403,用于獲取并安裝openssl驅動程序404;
第三處理模塊405,用于接收外部設備發送的測試請求,根據所述測試請求觸發所述QAT驅動程序402;
所述QAT驅動程序402,用于驅動待測加速卡分別執行設定次數的加密運算、解密運算和解壓縮運算;
所述openssl驅動程序404,用于獲取所述待測加速卡分別完成設定次數的加密運算、解密運算和解壓縮運算時對應的運算時長。
進一步的,由于加速卡通常通過測試服務器上的標準總線接口插槽插接到測試服務器上,為了確保工作人員將待測加速卡插接到測試服務器上時,測試服務器與加速卡確實成功連接,且已經被測試服務器所識別,如圖5所示,本發明一個優選實施例中,還包括:
檢測模塊501,用于檢測是否存在待測加速卡與所述測試服務器相連。
進一步的,為了實現根據實際業務需求,設置相應的時間閾值來衡量加速卡的性能是否合格,本發明一個實施例中,所述openssl驅動程序404,進一步用于預先設置加密運算、解密運算和解壓縮運算分別對應的時間閾值;比較加密運算、解密運算和解壓縮運算分別對應的時間閾值和運算時長,并根據比較結果確定所述待測加速卡的性能是否合格。
進一步的,為了實現根據用戶實際業務需求合理設置待測加速卡進行加密運算、解密運算及解壓縮運算的次數,本發明一個實施例中,所述第三處理模塊405,用于接收外部設備發送的攜帶設定次數number的測試請求,通過如下指令觸發所述QAT驅動程序:
./apps/openssl speed-engine qat rsa2048-elapsed-asynch-batch number-multi 1。
上述裝置內的各單元之間的信息交互、執行過程等內容,由于與本發明方法實施例基于同一構思,具體內容可參見本發明方法實施例中的敘述,此處不再贅述。
本發明實施例提供了一種可讀介質,包括執行指令,當存儲控制器的處理器執行所述執行指令時,所述存儲控制器執行本發明任意一個實施例中提供的加速卡測試方法。
如圖6所示,本發明實施例提供了一種存儲控制器,包括:處理器601、存儲器602和總線603;
所述處理器601和所述存儲器602通過所述總線603連接;
所述存儲器602,當所述存儲控制器運行時,所述處理器601執行所述存儲器602存儲的所述執行指令,以使所述存儲控制器執行本發明任意一個實施例中提供的加速卡測試方法。
綜上所述,本發明各個實施例至少具有如下有益效果:
1、本發明一實施例中,通過測試服務器獲取并安裝QAT驅動程序和openssl驅動程序,在接收到外部設備發送的測試請求時,則可觸發安裝的QAT驅動程序,由QAT驅動程序驅動待測加速卡分別執行設定次數的加密運算、解密運算和解壓縮運算,同時由openssl驅動程序獲取待測加速卡分別完成設定次數的加密運算、解密運算和解壓縮運算時對應的運算時長,即實現對加速卡的性能進行測試。綜上可見,通過在測試服務器內安裝QAT驅動程序和openssl驅動程序的方式,測試結果(即運算時長)不再依賴于處理器的負載情況,可提高測試結果的準確性。
2、本發明一實施例中,在測試服務器中的加速卡測試裝置接收外部設備發送的測試請求之前,還需要檢測是否存在待測加速卡與測試服務器相連。如此,只有在確保待測加速卡與測試服務器成功連接時,工作人員才可通過相應的輸入設備向測試服務器發送測試指令,以實現測試待測加速卡的性能。
需要說明的是,在本文中,諸如第一和第二之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個〃·····”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同因素。
本領域普通技術人員可以理解:實現上述方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成,前述的程序可以存儲在計算機可讀取的存儲介質中,該程序在執行時,執行包括上述方法實施例的步驟;而前述的存儲介質包括:ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質中。
最后需要說明的是:以上所述僅為本發明的較佳實施例,僅用于說明本發明的技術方案,并非用于限定本發明的保護范圍。凡在本發明的精神和原則之內所做的任何修改、等同替換、改進等,均包含在本發明的保護范圍內。