當前,在云計算和大數據為主導的需求環境下,負載均衡和應用交付已為大型企業數據中心“保駕護航”的必備品。不過,負載均衡作為一種比較“新奇”的設備,其主要功能雖然以為相關需求人士所熟知,但是它的各種性能指標卻是“亂花漸欲迷人眼”,一般人琢磨半天也不得所以。
那么,負載均衡產品的性能指標究竟應該從哪些方面來測評呢?小編特別采訪了國內新興應用交付企業太一星晨產品總監于振波先生。同時,不久前正好有一批太一自行研發的應用交付產品通過了聯通的集采測試。作為國內頂級運營商,聯通對負載均衡產品主要功能及性能指標的測試十分專業。由此,于振波也特別結合聯通的集采測試對負載均衡的性能參數進行了深入的解讀。
于振波表示,評估負載均衡設備的性能參數主要有三個維度,分別是四/七層吞吐量、最大并發連接數與四層新建連接數速率,這三大維度的具體指標決定了負載均衡產品的性能效果。
一、四/七層吞吐量,不再看throughput,而要看HTTPGoodput
1.什么是吞吐量
衡量負載均衡產品性能最常見,也是最基礎的指標就是“吞吐量”,這個概念在路由設備、防火墻等網絡設備上都有體現。
什么是“吞吐量”?簡單來說,我們可以把負載設備想像為一個管道,單位時間內能通過管道的最大流量就是吞吐量。所以,單位時間內能通過的流量越大,就意味著負載均衡設備的處理能力越高。而所謂的“四/七層吞吐”,也就是開啟四層功能和七層功能時,設備的處理能力。
2.吞吐量的標準測量方法
吞吐量有標準的測試方法,傳統路由器、防火墻都是通過測試單位時間內不同大小的UDP數據包來衡量產品性能的,也就是我們通常所說的“throughput”。但這個指標對負載均衡產品已經“落伍”了。
在聯通測試中,運營商使用一種更“嚴格”的指標去考量負載均衡產品的性能–“HTTP有效吞吐(HTTPGoodput)”。因為UDP的傳輸過于簡單,與設備實際處理能力相差太遠,在實際網絡中,各種應用協議大多是通過TCP傳輸的,TCP協議有更復雜的協商流程,作為與應用結合密切的負載均衡設備,傳統防火墻的UDP吞吐量對其并不關鍵,真正能處理應用層協議的能力才是看“真章”的地方。
在實際測試中,運營商會利用專業測試儀表模擬真實客戶向服務器發起HTTP請求,經過負載設備后,模擬服務器將給予響應,在此過程中,不斷加大模擬客戶端的數量,直到負載設備出現無法及時處理、連接失敗或響應超時、測試儀器上記錄的無失敗時所能處理的最大HTTP傳輸流量統計為止。
與傳統的UDP吞吐相比,HTTP有效吞吐在衡量負載設備的性能方面要更接近實際環境,也更加嚴格。
二、最大并發連接數
如果說,吞吐量的指標衡量的是一個管道的話,那么最大并發連接數則相當于一個“裝水的瓶子”,所謂最大并發連接就是指這個瓶子所能裝的“水”的容量,即負載設備所能維持的最大連接數的個數。
對于并發連接的測試,測試儀需要模擬HTTP客戶端以一定速率向負載設備發起連接請求,并持續保持連接不中斷。在這個過程中逐漸增加連接的個數,直到負載設備出現處理失敗,再統計出負載設備所能承載的最多的連接個數。
該參數雖然重要,但在聯通測試中卻并未刻意強調。原因很簡單,該指標只取決于設備的內存容量,說白了一句話,并發連接數是由內存大小決定的,而且現在設備的內存數所能承載連接早已經超過大多數的實用場景。
三、四層新建連接數速率(L4 CPS)
在聯通測試中,四層每秒新建連接速率被異常重視,其中連接的概念也被嚴格定義:需要有完整三次握手的過程(SYN,ACK/SYN,ACK),一次HTTP的請求和應答,以及TCP 連接的關閉(FIN,ACK,FIN,ACK)過程–這樣操作是為了盡可能模擬實際應用。
四層連接速率,就是以盡可能高的速率向設備發送連接請求,在完成連接數據傳輸后,又迅速關閉連接,以避免數據包大小對最終結果的影響,連接傳輸的數據被設置為64字節,聯通系統通過這樣的方式充分考驗設備每秒能處理的連接的數量。對于運營商用戶來說,這個指標對應用交付產品應付突發大量連接非常重要。這有點像我們身邊的地鐵入口,雖然地鐵運力很強,但如果入口修太小了,在高峰期很多乘客還是不能順暢的走進去!