最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

如何做好性能壓測:壓測環(huán)境的設(shè)計和搭建

2022-10-14 10:17 作者:愛測軟件測試  | 我要投稿
  • 器上,也有可能跨多個物理機(jī)器或者跟其他邏輯層共享同一個物理集群。

  • 邏輯架構(gòu)間的箭頭是數(shù)據(jù)流,不是物理網(wǎng)絡(luò)連接。

物理架構(gòu)圖

  • 軟件:環(huán)境中涉及到哪些基礎(chǔ)軟件、中間件。

  • 硬件:實體機(jī)/虛擬機(jī),單機(jī)配置(CPU、內(nèi)存、硬盤大小),集群規(guī)模。

  • 網(wǎng)絡(luò):內(nèi)網(wǎng)還是外網(wǎng),網(wǎng)絡(luò)帶寬,是否有跨網(wǎng)段問題,是否隔離。

軟件中對系統(tǒng)使用到的中間件有一個了解,不僅可以幫助設(shè)計更仿真的壓測環(huán)境,也有助于在壓測過程中,加快瓶頸、問題的定位和解決。

02 不同性能壓測環(huán)境的優(yōu)缺點對比

我們通過表格的形式以下 4 個壓測環(huán)境方案在使用場景、優(yōu)缺點、成本、阿里云及其客戶的應(yīng)用情況做了對比。

從表格中,我們可以看待,不管是哪種壓測環(huán)境方案,在落地成本,滿足需求程度上都是有所區(qū)別的,接下來,我們結(jié)合在阿里/阿里云客戶的應(yīng)用情況,對這 4 種壓測環(huán)境進(jìn)行介紹。

方案價值
既然是低配環(huán)境,壓出來的數(shù)據(jù)似乎完全不能用作生產(chǎn)環(huán)境運(yùn)行的參考,但實際上,這種環(huán)境下的壓測,也是非常重要的一環(huán)。主要體現(xiàn)在項目研發(fā)階段的價值上。

  • 新應(yīng)用上線前,應(yīng)用代碼本身的瓶頸發(fā)現(xiàn)。代碼本身的性能問題,例如連接未釋放,線程數(shù)過多,通過低配的環(huán)境,一定時長的壓測完全可以提前發(fā)現(xiàn)很多。

  • 應(yīng)用維度基線數(shù)據(jù)。跑出來的數(shù)據(jù)不能給線上做參考,但是如果每次迭代,發(fā)布前,都在同一套低配環(huán)境運(yùn)行性能壓測,跟低配基線數(shù)據(jù)進(jìn)行對比,也能起到衡量系統(tǒng)迭代的時候,性能是否有提升或者下降的參考。

  • 幫助研發(fā)進(jìn)行快速的性能調(diào)優(yōu)。系統(tǒng)越復(fù)雜的時候,發(fā)生性能問題后定位的難度會指數(shù)增加。進(jìn)行過性能調(diào)優(yōu)的研發(fā)都有體會,有時候調(diào)優(yōu),就是改一個配置,然后重新部署,跑壓測,看結(jié)果是不是改善了,直到找到最佳的配置。這個過程如果不能輕量起來,對于研發(fā)調(diào)優(yōu)就是噩夢。

存在的問題:
構(gòu)建低配環(huán)境,可以是普通的測試環(huán)境,和線上完全隔離。但是要解決以下問題:

  • 壓測會影響測試環(huán)境的功能測試。這一點很容易理解。壓力大了,可能影響同一套測試環(huán)境的功能測試結(jié)果,所以性能壓測環(huán)境最好獨立。

  • 依賴的基礎(chǔ)應(yīng)用在性能測試中沒有。例如要壓測的目標(biāo)業(yè)務(wù)是發(fā)貼,肯定會依賴到用戶相關(guān)的業(yè)務(wù),用戶中心就是一個基礎(chǔ)應(yīng)用(當(dāng)然很多小型公司可能沒獨立這塊業(yè)務(wù))。

  • 研發(fā)階段無法快速部署要壓的分支。有一點規(guī)模的互聯(lián)網(wǎng)公司,一周的迭代,同一個應(yīng)用可能會有多個分支,需要支持快速部署指定的分支到性能環(huán)境。

阿里內(nèi)部有一套完整的系統(tǒng)用于支撐集團(tuán)每日成千上萬的研發(fā)階段的性能壓測需求。

方案價值

  • 容量規(guī)劃是一個持續(xù)的過程,如何減少人力投入,如何才能“無人值守”。

  • 成本和效果平衡:盡量貼近線上運(yùn)行環(huán)境,同時容量規(guī)劃的數(shù)據(jù)對線上容量布置有很好的指導(dǎo)作用。

  • 完全獨立不影響線上。

  • 隨時可運(yùn)行,結(jié)果可跟蹤。

容量規(guī)劃不是直接在生產(chǎn)環(huán)境進(jìn)行的,因為生產(chǎn)環(huán)境的最終容量配比,是參考自容量規(guī)劃產(chǎn)出的數(shù)據(jù)。在生產(chǎn)環(huán)境進(jìn)行的壓測,是最后的驗收階段,在容量規(guī)劃完成之后。提供一套獨立的的生產(chǎn)環(huán)境子集-隔離環(huán)境,用于容量規(guī)劃要解決的問題:

  • 構(gòu)建的環(huán)境集如何定義,規(guī)模和架構(gòu)如何貼近線上。

  • 流量如何走到隔離環(huán)境。

  • 隔離環(huán)境寫的數(shù)據(jù)是否需要清理,如何清理?

想詳細(xì)了解阿里容量規(guī)劃的技術(shù)演進(jìn),可參考:這里。

隔離環(huán)境就是最新容量規(guī)劃生態(tài)中的重要基礎(chǔ)。隔離環(huán)境的支持,才能支撐常態(tài)化的容量規(guī)劃運(yùn)行,持續(xù)不斷的改進(jìn)。

  • 首先,提煉機(jī)器比例?;诰€上核心應(yīng)用的現(xiàn)有規(guī)模情況,提煉出一個縮小版的完全模型。即線上機(jī)器之間的比可能是5000:2000:1000,整體比例縮放100倍,在隔離環(huán)境的機(jī)器比是50:20:10。使用這種方式,有效的保證了同線上機(jī)器同比例,同時成本上做了很好的控制。

  • 其次,確定隔離目標(biāo)流量。根據(jù)接下來線上的目標(biāo)流量大小,同比例計算出隔離環(huán)境應(yīng)該支撐的流量,作為隔離環(huán)境打壓測流量時的目標(biāo)流量。

  • 然后,通過壓測流量從小到目標(biāo)流量探索,邊壓邊彈。

  • 最后,收集隔離環(huán)境達(dá)到目標(biāo)流量后,新的機(jī)器比例及數(shù)據(jù)。應(yīng)用間的比例關(guān)系很可能已經(jīng)有了改變,有的應(yīng)用可能縮容,有的應(yīng)用可能擴(kuò)容,作為線上機(jī)器關(guān)系的參考。

當(dāng)然這里面的涉及的技術(shù)細(xì)節(jié)還有很多:

  • 全鏈路壓測新應(yīng)用:整個壓測流量其實是沿用了線上壓測的全鏈路壓測機(jī)制,帶流量標(biāo),數(shù)據(jù)落影子庫的方式,所以隔離環(huán)境寫的數(shù)據(jù)不需要特殊的處理。

  • 環(huán)境標(biāo)隔離環(huán)境:流量同時會帶上一個“環(huán)境標(biāo)”,通過環(huán)境標(biāo)的識別,接入層會把流量導(dǎo)到隔離環(huán)境,從而做到流量的環(huán)境隔離。

  • "RPS"模式施壓:在系統(tǒng)整體的流量數(shù)據(jù)獲取上,我們摒棄了一直以來備受追捧的"并發(fā)量"的方式。眾所周知,業(yè)務(wù)提出來的目標(biāo)一般會是,"希望峰值支持xxxx個用戶登陸"這種,進(jìn)行容量規(guī)劃的時候需要將并發(fā)的用戶數(shù)跟系統(tǒng)能承受的QPS,進(jìn)行一個映射關(guān)系。我們?nèi)萘恳?guī)劃就直接使用阿里云壓測平臺(PTS)的"RPS"模式,壓出來拿到的QPS數(shù)據(jù),直接是系統(tǒng)維度的數(shù)據(jù),不用轉(zhuǎn)換,這樣也更減少了轉(zhuǎn)換過程中的失真。

  • 邊壓邊彈技術(shù):在隔離環(huán)境壓測中,何時彈新機(jī)器,彈多少機(jī)器,整個過程如何控制,這里面包含了一整套完整精密的算法。整個過程示意圖如下。

生產(chǎn)環(huán)境復(fù)制版面臨的挑戰(zhàn)非常多。其中,如果要對生產(chǎn)環(huán)境進(jìn)行完全的復(fù)制,將要面臨以下挑戰(zhàn):

  • 復(fù)制生產(chǎn)環(huán)境服務(wù)器的架構(gòu)

  • 復(fù)制生產(chǎn)環(huán)境網(wǎng)絡(luò)基礎(chǔ)環(huán)境

  • 復(fù)制生產(chǎn)環(huán)境的所有應(yīng)用分層

  • 網(wǎng)絡(luò)帶寬

  • 數(shù)據(jù)庫以及所有的基礎(chǔ)數(shù)據(jù)集

  • 負(fù)載均衡

對于傳統(tǒng)時代的壓測工程師來說,這樣一系列的操作,就是新搭建一套“影子系統(tǒng)”了,看起來有點像不可能完成的任務(wù)。要完成上述任務(wù),壓測工程師面臨巨大的挑戰(zhàn):

  • 溝通協(xié)調(diào)幾乎所有的技術(shù)部門(開發(fā)、運(yùn)維、網(wǎng)絡(luò)、IT…);

  • 如果即用即銷毀,那么勞民損財只用個一兩次,成本太大;

  • 如果持續(xù)維護(hù),那么維護(hù)成本顯然同樣不可忽略;

所以我們很少看到有公司進(jìn)行這樣的“生產(chǎn)環(huán)境復(fù)制”操作。小型公司可能沒那么多人力實現(xiàn),大中型公司,成本就更加難以接受了。但是現(xiàn)在云化趨勢的潮流中,這種方案有其自身的先天優(yōu)勢。

我們先看一下云上的產(chǎn)品架構(gòu)圖:

產(chǎn)品服務(wù)非常豐富,但是不太利于我們理解和復(fù)制線上環(huán)境用于壓測這個主題。具體到某一個場景的系統(tǒng)在阿里云的落地:

搭建一個云上應(yīng)用的最小集應(yīng)該需要用到:

  • SLB - 用來負(fù)載均衡;

  • ECS - 用來部署業(yè)務(wù)應(yīng)用;

  • RDS - 用來存儲業(yè)務(wù)數(shù)據(jù);

如果要在云上復(fù)制以上線上系統(tǒng),只需:

Step1:購買跟線上集群同規(guī)模同配置的ECS,部署應(yīng)用;
Step2:復(fù)制線上RDS;
Step3:SLB配置新入口,指向復(fù)制環(huán)境;
Step4:開始線上壓測;

在云上進(jìn)行生產(chǎn)環(huán)境復(fù)制有以下優(yōu)勢:

  • 操作便捷??梢暬缑?,系統(tǒng)所需要的組建配置安裝即可。

  • 即用即毀,節(jié)約成本。復(fù)制一套線上環(huán)境,如果是足夠復(fù)雜的系統(tǒng),使用的組件多,流量大,成本問題肯定要考慮。傳統(tǒng)時代搭建的成本本身就高,繼續(xù)維護(hù)和再搭建的成本同樣也高。但是云時代,就是點幾個按鈕搭建,點幾個按鈕銷毀的過程,按使用量付費,驗證完就釋放,對于資源成本的浪費可控性很好。

  • 機(jī)器配比根據(jù)情況可自由調(diào)控。在云上顯然也可以快捷進(jìn)行低配、同配生產(chǎn)環(huán)境子集復(fù)制,相對于非云化的系統(tǒng)同樣有明顯的優(yōu)勢。

  • 架構(gòu)信息清晰。如果云端提供了“架構(gòu)感知”的功能,那么可以直觀繪制除業(yè)務(wù)系統(tǒng)在云上的整體架構(gòu),準(zhǔn)確直觀,壓測工程師不用再花很長的時間梳理系統(tǒng)的架構(gòu),還面臨可能不準(zhǔn)確的問題。

03 生產(chǎn)環(huán)境 - 老生常談

談分布式性能壓測,就離不開全鏈路壓測技術(shù)。目前,也有不少互聯(lián)網(wǎng)企業(yè)開始構(gòu)建自己的全鏈路壓測體系,我們將阿里的實踐濃縮成一張全鏈路壓測模型圖。

04 總結(jié)

  • 仿真的性能壓測環(huán)境,是執(zhí)行有效性能壓測的前提。

  • 不同的壓測環(huán)境都有不同的應(yīng)用場景,企業(yè)應(yīng)根據(jù)自身情況進(jìn)行選擇。

  • 規(guī)模中小的公司獨立搭建一套隔離的壓測環(huán)境成本高昂,可維護(hù)性差。

  • 云上的性能壓測,在操作、成本和維護(hù)方面,有較高的優(yōu)勢。


如何做好性能壓測:壓測環(huán)境的設(shè)計和搭建的評論 (共 條)

分享到微博請遵守國家法律
玉树县| 桂平市| 柘荣县| 湘阴县| 应城市| 张北县| 衡山县| 莱西市| 常宁市| 乡宁县| 玉环县| 东兴市| 琼结县| 柏乡县| 澄城县| 大悟县| 鸡东县| 扎鲁特旗| 威宁| 莒南县| 伽师县| 海原县| 平顶山市| 呈贡县| 邮箱| 通城县| 嘉祥县| 项城市| 无为县| 石屏县| 孝感市| 磐石市| 德阳市| 科技| 武川县| 大庆市| 弥勒县| SHOW| 司法| 铁岭市| 明溪县|