成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

基于kubernetes搭建分布式壓測系統(tǒng)是怎樣的

這篇文章將為大家詳細講解有關基于kubernetes搭建分布式壓測系統(tǒng)是怎樣的,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

網(wǎng)站建設哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、成都微信小程序、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了句容免費建站歡迎大家使用!

分布式壓測方案借助的三個技術(shù)

原理上來講,需要借助三方面的技術(shù):

編程技術(shù)

這里我們選擇了我們團隊較熟悉的python,不同團隊可以有不同的選擇;

壓測引擎

我們用的是Locust,因為它是用python寫腳本,其實也可以更換成jmeter之類的其它壓測引擎,

kubernetes

主要利用它的服務編排技術(shù)來進行一個資源上的調(diào)度,經(jīng)過我們測試,如果是普通集群,在需要彈出集群物理節(jié)點的情況下,全部就緒需要90秒,但是使用彈性集群,則可以壓縮到15~20秒,所以推薦使用彈性集群。 整個技術(shù)框架原理上,壓測節(jié)點分為主節(jié)點(master)、從節(jié)點 (slave)和監(jiān)控節(jié)點(monitor)三種類型:

基于kubernetes搭建分布式壓測系統(tǒng)是怎樣的

主節(jié)點

負責任務管理和數(shù)據(jù)采集聚合,本身不進行壓測任務

從節(jié)點

負責壓測任務

監(jiān)控節(jié)點

從主節(jié)點將結(jié)果通過webhook傳遞給web服務處理端;

另外這些節(jié)點的狀態(tài)、日志都會通過k8s的api進行采集。 根據(jù)壓測任務里主從節(jié)點所申請的資源,集群將提前伸縮好節(jié)點,并將任務分配到不同節(jié)點,以達到動態(tài)提高壓測能力的目的。

壓測流程

基于kubernetes搭建分布式壓測系統(tǒng)是怎樣的

右邊為用戶所感知到的過程,壓測集中包括多個壓測場景,通過編寫壓測腳本和配置壓測參數(shù)的方式生成壓測任務,并最終生成壓測報告。

左邊為python控制集群來生成任務的過程,具體是渲染生成不同任務的yaml文件后,生成相應的 job pod,然后持續(xù)將 pod 狀態(tài) 、日志和壓測曲線結(jié)果反饋在頁面上。

整個過程所使用的技術(shù)并沒有多高深,主要是在集群應用上的一種探索。

實現(xiàn)方法

使用yaml編排job服務,舉例slave節(jié)點來說,主要是聲明一個job類型的工作負載,將生成的任務從節(jié)點名以及任務生成的命名空間渲染上去,然后設置我們的壓測基礎鏡像以及啟動命令,這里我們用到了 kubernetes 的幾個技巧,一個是通過hostAliases進行內(nèi)部解析,這樣可以對一些內(nèi)網(wǎng)代理進行壓測,另一個是聲明申請資源CPU,以便在任務啟動前提前伸縮好物理節(jié)點提供資源,還有一個是通過configmap掛載可執(zhí)行文件,這樣可以注入?yún)?shù)在變化的啟動命令,而不需要重新構(gòu)建鏡像。

基于kubernetes搭建分布式壓測系統(tǒng)是怎樣的

然后說一下我們的代碼框架,主要是分為這幾個模塊: 基于kubernetes搭建分布式壓測系統(tǒng)是怎樣的

  • k8s模塊,提供一些如創(chuàng)建銷毀命名空間或pod、查看狀態(tài)、拉取日志等api功能;

  • 基礎鏡像,較為簡單,主要安裝了一些基礎通用的庫,然后開通了一些內(nèi)部使用的端口;

  • 任務編排聲明文件,包括了我上面說的幾種節(jié)點服務;

  • 任務核心方法類,主要是將上述的流程代碼實現(xiàn),提供了一些方法,這里限于篇幅就不具體展開了。

然后最后我們來看下效果: 基于kubernetes搭建分布式壓測系統(tǒng)是怎樣的

這是我們壓測系統(tǒng)的管理界面,現(xiàn)在看到的是壓測集,方便集中管理。

基于kubernetes搭建分布式壓測系統(tǒng)是怎樣的

這是創(chuàng)建壓測場景,并基于該場景編寫python壓測腳本,并可設置我們的任務參數(shù)。

基于kubernetes搭建分布式壓測系統(tǒng)是怎樣的

這是壓測任務詳情頁,可以看到壓測參數(shù)、狀態(tài)以及節(jié)點情況和查看日志。

基于kubernetes搭建分布式壓測系統(tǒng)是怎樣的

這是壓測過程中實時生成的圖表,可以基于圖表情況進行分析。

未來改進方向
  • 引擎類型或版本允許選擇更換;

  • 批量定時分階段的自動壓測計劃;

  • 將所有涉及資源圖表關聯(lián)進來,形成更為詳盡的報告;

  • 任務資源限制與使用審批;

  • 報告分析結(jié)論存檔,相關問題追蹤處理結(jié)果存檔;

  • 相同條件的多次壓測結(jié)果對比展示;

  • 使用更為云原生的方式管理任務的生命周期;

關于基于kubernetes搭建分布式壓測系統(tǒng)是怎樣的就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

網(wǎng)頁名稱:基于kubernetes搭建分布式壓測系統(tǒng)是怎樣的
文章URL:http://jinyejixie.com/article18/poscgp.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信小程序、建站公司、網(wǎng)站建設自適應網(wǎng)站、網(wǎng)站維護

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設
伊宁县| 绥棱县| 南汇区| 成武县| 翼城县| 张家界市| 尚义县| 鲁甸县| 涞水县| 洛浦县| 化德县| 彭阳县| 太白县| 贺州市| 京山县| 洞头县| 视频| 镇江市| 辛集市| 勐海县| 南通市| 平顶山市| 云和县| 宁河县| 高唐县| 呈贡县| 永嘉县| 巩义市| 新竹市| 乐清市| 鹤峰县| 兴仁县| 鄂托克旗| 芦溪县| 黔江区| 昌吉市| 新营市| 精河县| 盐亭县| 河池市| 夏津县|