天天看點

在阿裡雲容器服務上建立Spring Boot應用之壓測篇

  spring boot架構的第一個穩定版本是在2014年由pivotal釋出的,該架構的宗旨在于為基于spring的web應用提供快速設計開發,并追求小而美、約定勝于配置、快速開發、自包含且便捷。spring boot目前開發中的版本是1.4。

  上一篇文章“在阿裡雲容器服務上建立第一個spring boot應用”,講述了如何通過maven的docker plugin上傳鏡像到阿裡雲的容器hub,并通過阿裡雲的容器服務快速在雲環境建立應用。本文将描述下,如果在阿裡雲環境裡繼續對這個web應用進行壓測,下面我會按照4個步驟進行介紹:

第一步:評估應用的架構

第二步:評估壓測的架構

第三步:配置壓測任務

第四步:檢視壓測結果

  上一篇我們通過阿裡雲容器服務給這個sping boot服務配置了一條路由規則:

容器端口為8080,域名字首為spring-boot。容器服務會自動生成一個測試域名‘spring-boot.<cluster_id>.<region_id>.alicontainer.com’

  當一個request請求這個域名時會經過以下幾次轉發:

這個域名的dns指向叢集的負載均衡slb的ip。

slb會監聽80端口的請求并轉發到叢集内的每台雲伺服器的80端口。

而每台雲伺服器裡面有一個系統的容器acs-routing,會負責将伺服器的80端口上指定域名的請求轉發到指定容器的内部8080端口。

以下是應用的架構簡圖:

在阿裡雲容器服務上建立Spring Boot應用之壓測篇

我們回到容器服務的控制台記錄下幾個資訊,後續會再用到:

應用的域名:(應用清單->服務清單tab->服務詳情的通路端點 http://spring-boot.cfe5de77bd7a4474c826e8465930fae75.cn-shenzhen.alicontainer.com)

在阿裡雲容器服務上建立Spring Boot應用之壓測篇

叢集的負載均衡slb:(叢集清單->更多操作->負載均衡管理->負載均衡詳情的id 1529d3bd5cd-cn-shenzhen-st3-a01)

在阿裡雲容器服務上建立Spring Boot應用之壓測篇

叢集的雲伺服器名稱清單:(叢集清單->叢集名稱的連結展開)

在阿裡雲容器服務上建立Spring Boot應用之壓測篇

首先我們需要對spring boot的使用者通路場景進行評估,經過拍腦袋之後,我們決定以10個并發對首頁進行壓測,看看能否抗的住,主要觀察幾個名額:首頁的tps、rt,伺服器的cpu、load。最常見的方式就是搞一個httpload、jmeter壓壓,幸運的發現阿裡雲已經提供了類似的能力。我們決定通過“雲監控”和“性能壓測”兩個産品來試試。

以下是壓測的架構簡圖:

在阿裡雲容器服務上建立Spring Boot應用之壓測篇

壓測方案分為兩部分:

通過雲監控采集伺服器的監控資料(免費開通雲監控->雲服務監控->ecs監控清單->篩選第一步中的2台伺服器,“點選安裝”ecs插件)

在阿裡雲容器服務上建立Spring Boot應用之壓測篇

在性能測試産品裡綁定壓測的ecs和slb(免費開通性能測試企業版->測試環境->雲内機器)

在阿裡雲容器服務上建立Spring Boot應用之壓測篇
在阿裡雲容器服務上建立Spring Boot應用之壓測篇

下面開始配置壓測任務

在阿裡雲容器服務上建立Spring Boot應用之壓測篇

點選上圖的新增腳本

在阿裡雲容器服務上建立Spring Boot應用之壓測篇

設定腳本名:perf-springboot

添加一個事務:事務名稱(testperf),請求連結(http://spring-boot.cfe5de77bd7a4474c826e8465930fae75.cn-shenzhen.alicontainer.com/),請求類型(get)

點選儲存

選擇腳本名

在阿裡雲容器服務上建立Spring Boot應用之壓測篇

設定場景名:perf-springboot

設定并發使用者數:10

在阿裡雲容器服務上建立Spring Boot應用之壓測篇
在阿裡雲容器服務上建立Spring Boot應用之壓測篇

點選新增任務

設定任務名:perf-springboot

設定持續時間:10分鐘

設定施壓叢集:深圳

選擇監控機:綁定之前深圳叢集的兩台機器

綁定場景:綁定上一步的測試場景

在阿裡雲容器服務上建立Spring Boot應用之壓測篇
在阿裡雲容器服務上建立Spring Boot應用之壓測篇

點選确認

在阿裡雲容器服務上建立Spring Boot應用之壓測篇

點選執行

在阿裡雲容器服務上建立Spring Boot應用之壓測篇

休息10分鐘回來~

檢視壓測結果

在阿裡雲容器服務上建立Spring Boot應用之壓測篇

檢視tps資料

在阿裡雲容器服務上建立Spring Boot應用之壓測篇

檢視rt資料

在阿裡雲容器服務上建立Spring Boot應用之壓測篇

檢視伺服器的cpu資料

在阿裡雲容器服務上建立Spring Boot應用之壓測篇