阿里雲 VPC 內網效能測試最佳實踐

阿里巴巴雲原生發表於2022-03-31

作者:風起

背景

隨著網際網路的快速發展,網際網路衍生出來的多種工具、服務早已融入我們工作、生活的每個角落,因此網際網路服務的穩定性也愈加重要,如網路掛號問診、網上政務辦理、網路消費娛樂等更是與大家的生活息息相關。而效能測試作為驗證服務穩定性的重要手段也日益受到網際網路服務提供商的重視。

目前業界主流的效能測試工具均是從公共網路發出效能測試請求,模擬公網流量,這無疑能夠儘可能模擬使用者使用網際網路服務時的真實流量,然而這種方式也存在一些問題,如:

• 帶來額外的效能測試費用,公網流量從客戶端到服務端的過程中,經由多個運營商網路,會產生額外的流量頻寬費用,對於大規模效能測試,流量費用更是會遠超效能測試過程中的機器成本

• 無法測試對安全性要求較高的服務,如金融、保險、資料儲存等業務若開放公網訪問,可能會帶來資料洩露等安全問題,因此無法從公網發起效能測試

• 帶來部署、改造成本的上升,當服務仍然在開發過程中時,服務在開發過程中可能需要頻繁地效能測試並根據效能測試結果來調整服務,該情況不適合開放公網訪問,因此無法從公網發起效能測試

針對以上問題,本文介紹了在阿里雲 VPC 內網執行效能測試的方法。相較於傳統的公網效能測試,VPC 內網效能測試完全在客戶 VPC 環境進行,無需暴露服務到公網,安全性更高,且使用者可通過 VPC 自定義路由表,打通本地資料中心形成混合雲架構,具備更強的靈活性,此外更是可以在微服務開發階段,針對 VPC 內網的每個微服務執行效能測試,可以大幅提升效能測試的效率,節省效能測試成本。

什麼是阿里雲 VPC 專有網路

首先,介紹下什麼是阿里雲 VPC 專有網路(也稱 VPC 內網)。VPC 專有網路是您專有的雲上私有網路。您可以完全掌控自己的專有網路,例如選擇 IP 地址範圍、配置路由表和閘道器等,您可以在自己定義的專有網路中使用阿里雲資源,如雲伺服器、雲資料庫 RDS 和負載均衡等。

如下圖所示,每個專有網路都由至少一個私網網段、一個路由器和至少一個交換機組成。

在這裡插入圖片描述

功能對比及特點

相較於經典網路在不同客戶間是物理聯通的,專有網路 VPC 具有安全可靠、靈活可控、靈活可用以及較強的可擴充套件性。

• 每個 VPC 網路對應一個虛擬化網路,VPC 間互相隔離

• 可以通過安全組規則、訪問控制白名單等方式靈活地控制訪問 VPC 內雲資源的出入流量

• 可以在 VPC 內建立不同子網,同時也可以和本地資料中心或其他 VPC 相連,擴充套件網路架構

總的來說,VPC 內網是阿里雲的基礎網路設施,為客戶部署在雲上的服務提供了安全、聯通的優勢。

公網與 VPC 內網效能測試的區別

在瞭解 VPC 內網的基本特點後,介紹下公網效能測試與 VPC 內網效能測試的區別,從被測試服務的視角來看,兩者的區別主要在於流量源頭不同。

• 公網效能測試:流量源自公共網路,網路路由的過程中可能涉及到多個運營商網路裝置

• VPC 內網效能測試:流量源自 VPC 內網,網路路由的過程中僅涉及 VPC 內網交換機,對外部網路不可見

在這裡插入圖片描述

因為兩者的流量源頭不同,因此兩者的流量路由不同。公網效能測試流量會經由公共網路,而 VPC 內網效能測試流量只會在 VPC 內網流轉。

VPC 內網效能測試適用場景

瞭解公網效能測試與 VPC 內網效能測試的區別後,什麼情況下我們需要使用 VPC 內網效能測試呢?主要有以下幾種場合:

1. 服務對安全性比較敏感,無法開放到公共網路,如金融、保險等對安全性要求較高的業務

雖然在效能測試的過程中我們可以通過對施壓機 IP 加白的方式隔絕其他公網訪問,但 VPC 內網徹底隔絕公網方案,無疑提供了更強的安全性。

2. 新服務研發過程中效能測試,需要簡化網路環境對效能測試結果的影響,單獨評估服務的效能。

當前微服務架構大行其道,在各個微服務研發階段,可能都涉及到針對服務負載情況的效能測試,從而評估出每個服務的負載上限,這就需要能夠快速在客戶研發環境發起效能測試。而傳統的公網效能測試需要客戶將待測試服務開放到公網,帶來安全隱患的同時,也提高了效能測試的執行成本。VPC 內網則能夠完美解決該訴求,在開發階段可快速發起針對微服務的效能測試。

3. 評估阿里雲 VPC 內網服務效能,如 RDS、MQ 等阿里雲基礎產品
RDS、MQ 等阿里雲基礎產品,作為客戶服務的基礎元件,往往也不會開通公網訪問,因此針對這些元件的效能測試也必須在 VPC 內網進行。

4. 節省效能測試帶來的成本,相較於公網效能測試會產生大量的公網頻寬費用,VPC 內網效能測試完全在 VPC 內網進行,服務不會產生額外的網路頻寬費用。

公網發起效能測試時,對於被測試服務來說,會產生大量的公網頻寬流程,從而帶來大量的公網頻寬費用,而 VPC 內網效能測試完全在客戶 VPC 內網進行,因此相較於公網效能測試,測試成本大幅減小。

如何發起 VPC 內網效能測試

既然 VPC 內網效能測試有諸多好處,如何發起 VPC 內網效能測試呢?在這裡推薦瞭解下阿里雲效能測試服務 PTS[1]。

使用者可在開通 PTS 服務後,前往購買頁面購買內網壓測資源包[2],最低僅需 29 元,即可購買 10 萬 VUM 的資源包(支援 1 萬併發測試 10 分鐘),購買後進入 PTS 控制檯,即可檢視對應的資源包。

在這裡插入圖片描述

接下來,可根據壓測需求,選擇建立對應的效能測試場景,這裡以 HTTP 協議為例,建立 PTS 壓測場景,客戶第一次進入場景編輯頁,會提醒客戶授予 VPC 訪問許可權,從而使 PTS 產品可以訪問客戶的 VPC 資訊。在授權同意後,編輯場景基本資訊,需要注意的是壓測地址既可以填寫公網域名,也可以填寫內網 IP,但都需要保證對應的 IP 地址在交換機網段內,才可以通過交換機訪問 VPC 內部服務。例如這裡壓測 ALB:

在這裡插入圖片描述

之後在壓測來源中選擇 阿里雲 VPC 內網,需要注意的是這裡的 region、VPC、安全組以及交換機資訊必須與被測試服務保持一致:

在這裡插入圖片描述

之後發起除錯以及啟動測試即可,從除錯結果中可以看到 VPC 內網的效能測試順利進行。

在這裡插入圖片描述

VPC 內網效能測試的實現原理

為了方便理解 VPC 內網效能測試的使用,這裡介紹下 VPC 內網效能測試的原理。在客戶執行 VPC 內網效能測試前,需要滿足以下條件:

  1. 客戶開通 VPC 服務,並建立相應的 VPC 網路、交換機與安全組
  2. VPC 網路內啟動服務端,並配置安全組規則確保服務在 VPC 網路內可訪問
  3. 開通 PTS 服務併購買資源包,進入 PTS 控制檯授權 PTS 服務訪問客戶的 VPC 服務許可權,從而使被授權服務可以訪問客戶的 VPC、交換機、安全組等服務

在場景構建完成,發起 VPC 內網效能測試時,PTS 側主要會執行以下幾個步驟:

  1. 獲取客戶填寫的 VPC 相關資訊,在客戶側VPC內建立免費 ENI 彈性網路卡[3]
  2. 將客戶側建立的彈性網路卡掛載到 PTS 施壓機上
  3. 在施壓機上新增到客戶交換機網段的路由,使施壓機能夠訪問客戶側 VPC 內服務
  4. 配置路由規則,禁止訪問公共網路,從而保障流量只從 VPC 內網發出
  5. 壓測開始,按照客戶配置傳送請求
  6. 停止壓測後,將彈性網路卡從施壓機上解除安裝並刪除

在這裡插入圖片描述

多協議下的 VPC 內網效能測試

除了支援 HTTP 協議的 VPC 內網效能測試外,PTS 還支援其他協議以及對阿里雲基礎產品的效能測試,如 MQTT、Reids、MQ 等,歡迎進入 PTS 控制檯體驗對應功能。

在這裡插入圖片描述

VPC 內網效能測試最佳實踐

在對服務執行效能測試時,從被測試鏈路的範圍上來看可以簡單分為單鏈路效能測試與全鏈路效能測試。

• 單鏈路效能測試:效能測試過程中僅覆蓋一部分鏈路,測試範圍相對精準,驗證某條鏈路的穩定性;測試過程中參與人數較少,執行成本較低,可多次執行測試,充分驗證。

• 全鏈路效能測試:效能測試過程中覆蓋服務可能涉及到的所有鏈路,測試範圍足夠大,涉及到的上下游較多,從而保障能夠從全域性找到效能瓶頸點,驗證全域性的穩定性;測試過程中參與人數較多,是一個複雜的系統工程,執行成本較高,需要嚴格控制測試次數。

全鏈路效能測試成本較高,因此一般需要各個單鏈路多次效能測試通過後再執行全鏈路效能測試。由於單鏈路效能測試頻率較高,建議在單鏈路效能測試過程中儘可能使用成本較低的 VPC 內網效能測試,節省效能測試成本;在所有單鏈路效能測試通過後,再配置服務,開放公網訪問,通過公網下的全鏈路效能測試來驗收所有服務鏈路。

VPC 內網壓測-採購季價格特惠

現在購買內網壓測資源包,相較於公網,更是可以大幅節省購買成本,成本只需要公網壓測的 1/10 。

而且現在正值採購季,所有規格都打 95 折哦,還可以疊加官網優惠,心動不如行動,趕緊採購吧!

在這裡插入圖片描述

相關連結

[1] 阿里雲效能測試服務 PTS

https://www.aliyun.com/produc...

[2] 購買內網壓測資源包

https://common-buy.aliyun.com...

[3] ENI 彈性網路卡

https://help.aliyun.com/docum...

點選此處,購買內網壓測資源包。

相關文章