自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

全鏈路壓測(cè):影子庫(kù)與影子表之爭(zhēng)

開(kāi)發(fā) 架構(gòu)
目前全鏈路壓測(cè)平臺(tái)提供了影子庫(kù)、影子表等解決方案。應(yīng)該如何選擇適合自己的方案呢?本文首先針對(duì)兩種方案的原理進(jìn)行闡述,然后從性能、穩(wěn)定性、成本三個(gè)考量指標(biāo)進(jìn)行對(duì)比。

作者 |  葛天萌(智云)

一、業(yè)界盛傳的全鏈路壓測(cè)是什么

?全鏈路壓測(cè)誕生于阿里巴巴雙 11 備戰(zhàn)過(guò)程,如果說(shuō)雙 11 大促是阿里業(yè)務(wù)的“期末考試”,全鏈路壓測(cè)就是大考前的“模擬考試”,誕生后被譽(yù)為雙 11 穩(wěn)定性保障的“核武器”。全鏈路壓測(cè)通過(guò)在生產(chǎn)環(huán)境對(duì)業(yè)務(wù)大流量場(chǎng)景進(jìn)行高仿真模擬,獲取最真實(shí)的線(xiàn)上實(shí)際承載能力、執(zhí)行精準(zhǔn)的容量規(guī)劃,確保系統(tǒng)可用性。分布式架構(gòu)和業(yè)務(wù)快速發(fā)展給業(yè)務(wù)系統(tǒng)帶來(lái)了不確定性。分布式環(huán)境的任意節(jié)點(diǎn)都可能成為瓶頸/短板/問(wèn)題,同時(shí)系統(tǒng)可用性隨著業(yè)務(wù)的快速增長(zhǎng),面臨更嚴(yán)峻的挑戰(zhàn)和不確定性。比如:

  • 單鏈路壓測(cè)缺少外部干擾和各種資源競(jìng)爭(zhēng),單鏈路壓測(cè)的結(jié)果普遍比較樂(lè)觀,不能反映真實(shí)的系統(tǒng)承載能力。
  • 某些問(wèn)題只有在真正的大流量下才會(huì)暴露,比如網(wǎng)絡(luò)帶寬、系統(tǒng)間影響、基礎(chǔ)依賴(lài)等等。
  • 全鏈路壓測(cè)不僅僅是做壓測(cè),更多的是進(jìn)行一次真實(shí)的大促預(yù)演,預(yù)案演練、限流驗(yàn)證、破壞性演練等高可用方案的統(tǒng)一驗(yàn)收。

其中全鏈路壓測(cè)的常見(jiàn)問(wèn)題就是如何做到生產(chǎn)環(huán)境的數(shù)據(jù)隔離:在生產(chǎn)環(huán)境進(jìn)行寫(xiě)壓測(cè)時(shí),需要保證在壓測(cè)進(jìn)行的同時(shí)不影響線(xiàn)上業(yè)務(wù)的正常運(yùn)行,那么就需要考慮將壓測(cè)產(chǎn)生的數(shù)據(jù)與生產(chǎn)的真實(shí)數(shù)據(jù)隔離存儲(chǔ),避免臟數(shù)據(jù)對(duì)線(xiàn)上業(yè)務(wù)產(chǎn)生影響。阿里云的全鏈路壓測(cè)平臺(tái)除了提供了影子表方案之外,還提供了影子庫(kù)的數(shù)據(jù)隔離方案。在生產(chǎn)環(huán)境實(shí)施全鏈路壓測(cè)的過(guò)程中,針對(duì)上文談到的兩種方案,又面臨著數(shù)據(jù)隔離方案的選擇問(wèn)題,本文首先針對(duì)影子庫(kù)、影子表兩種方案進(jìn)行介紹和對(duì)比,然后針對(duì)常見(jiàn)的場(chǎng)景,給出方案的選擇建議。

二、全鏈路壓測(cè)數(shù)據(jù)隔離方案的選擇

目前全鏈路壓測(cè)平臺(tái)提供了影子庫(kù)、影子表等解決方案。應(yīng)該如何選擇適合自己的方案呢?本文首先針對(duì)兩種方案的原理進(jìn)行闡述,然后從性能、穩(wěn)定性、成本三個(gè)考量指標(biāo)進(jìn)行對(duì)比。

1.方案一:影子庫(kù)

如圖 1 所示,針對(duì)影子庫(kù)方案,是在同一個(gè)實(shí)例上建立對(duì)應(yīng)的影子庫(kù)。用戶(hù)服務(wù)掛載的全鏈路壓測(cè)探針獲取到流量標(biāo)之后進(jìn)行相應(yīng)的旁路處理,如果是影子流量,那么會(huì)從影子連接池中獲取影子連接供業(yè)務(wù)側(cè)使用,從而將壓測(cè)流量產(chǎn)生的數(shù)據(jù)旁路到對(duì)應(yīng)的影子庫(kù)中,以此達(dá)到數(shù)據(jù)和生產(chǎn)庫(kù)隔離的效果,從而避免了壓測(cè)流量產(chǎn)生的數(shù)據(jù)對(duì)生產(chǎn)庫(kù)造成污染。

圖片

圖 1:影子庫(kù)方案基本原理

2.方案二:影子表

如圖 2 所示,類(lèi)似影子庫(kù)方案,針對(duì)影子表方案,是在同一個(gè)實(shí)例上的同一個(gè)數(shù)據(jù)庫(kù)上建立對(duì)應(yīng)的影子表。用戶(hù)服務(wù)掛載的全鏈路壓測(cè)探針獲取到流量標(biāo)之后進(jìn)行相應(yīng)的旁路處理,如果是影子流量,那么,探針會(huì)針對(duì)本次的 DB 調(diào)用進(jìn)行 SQL 解析和替換,從而將壓測(cè)流量產(chǎn)生的數(shù)據(jù)旁路到對(duì)應(yīng)的影子表中。

圖片

圖 2:影子表方案基本原理

三、方案對(duì)比

本文主要從性能、穩(wěn)定性、成本三個(gè)方面來(lái)闡述兩種方案的優(yōu)缺點(diǎn)。

圖片

圖 3:方案對(duì)比

1.性能

機(jī)器規(guī)格:4c8g并發(fā)規(guī)格:需同時(shí)模擬正常和壓測(cè)流量?jī)煞N類(lèi)型的流量,這里以 2:8 的比例進(jìn)行劃分,以便于模擬業(yè)務(wù)流量低峰期進(jìn)行生產(chǎn)環(huán)境全鏈路壓測(cè)。

  • 正常流量:200 并發(fā)
  • 壓測(cè)流量:800 并發(fā)

這里主要從服務(wù)所在的主機(jī)和所用的數(shù)據(jù)庫(kù)實(shí)例兩方面的監(jiān)控去分析。其中,應(yīng)用監(jiān)控主要以 CPU、內(nèi)存和平均 RT 三個(gè)指標(biāo)分析。數(shù)據(jù)庫(kù)實(shí)例監(jiān)控從連接數(shù)、QPS 兩個(gè)指標(biāo)的維度進(jìn)行分析。

圖片

?從以上兩種方案不同維度的指標(biāo)對(duì)比可以看出,影子表方案對(duì) CPU 的消耗略高,這和該方案的實(shí)現(xiàn)方式有關(guān)。

2.穩(wěn)定性

談到穩(wěn)定性,可以從數(shù)據(jù)源實(shí)例的連接數(shù)規(guī)格、容量規(guī)格、IOPS、網(wǎng)絡(luò)流量等方面進(jìn)行分析。

圖片

?以上指標(biāo),這里以連接數(shù)為例進(jìn)行說(shuō)明,具體如下:針對(duì)影子庫(kù)方案。由于是在同一個(gè)實(shí)例上建立不同的數(shù)據(jù)庫(kù),所以如果不考慮數(shù)據(jù)庫(kù)實(shí)例能夠達(dá)到最大連接數(shù)上限,理論上影子連接和正常連接時(shí)相互獨(dú)立的,執(zhí)行時(shí)互不影響。針對(duì)影子表方案,由于是在同一個(gè)實(shí)例上的同一個(gè)數(shù)據(jù)庫(kù)上建立了不同的數(shù)據(jù)表,那么這里就要考慮業(yè)務(wù)側(cè)的連接池配置了,因?yàn)橛白恿髁可婕暗降?DB 操作和正常流量涉及到的 DB 操作,所用的數(shù)據(jù)庫(kù)連接,均來(lái)源于同一個(gè)連接池,所以如果壓測(cè)量級(jí)較大的時(shí)候,是比較容易出現(xiàn)連接池連接瓶頸的。

3.成本

圖片

根據(jù)表格中的內(nèi)容,這里主要以冗余成本和數(shù)據(jù)遷移成本進(jìn)行說(shuō)明,具體如下:

  • 冗余成本

針對(duì)影子庫(kù)方案,為了保證全鏈路壓測(cè)評(píng)估結(jié)果的精準(zhǔn)度,我們需要在同一個(gè)實(shí)例上做全量的庫(kù)遷移操作,包括表結(jié)構(gòu)和表數(shù)據(jù),這會(huì)帶來(lái)一個(gè)比較明顯的問(wèn)題,成本比較高,所有的基礎(chǔ)只讀表(此類(lèi)型的表不會(huì)有寫(xiě)操作)均要冗余一份,無(wú)法達(dá)到復(fù)用的目的,所以對(duì)于中大型企業(yè)來(lái)說(shuō),是難以接受的。針對(duì)影子表方案,是在同一個(gè)實(shí)例上的同一個(gè)數(shù)據(jù)庫(kù)上建立影子表。那么就可以復(fù)用生產(chǎn)庫(kù)中的基礎(chǔ)只讀表,只需對(duì)寫(xiě)表進(jìn)行建立影子表即可。影子表方案在一定程度上降低了數(shù)據(jù)冗余所帶來(lái)的成本消耗。

  • 數(shù)據(jù)遷移成本?

從壓測(cè)的主流程來(lái)說(shuō),分為壓測(cè)前、壓測(cè)中、壓測(cè)后。其中,數(shù)據(jù)準(zhǔn)備是處于壓測(cè)前這一階段的,壓測(cè)成功與否,和數(shù)據(jù)準(zhǔn)備這一環(huán)節(jié)密切相關(guān)。數(shù)據(jù)遷移的過(guò)程需要將某張數(shù)據(jù)表所關(guān)聯(lián)的其他表字段同時(shí)做遷移,這一過(guò)程是比較復(fù)雜和耗費(fèi)精力的。所以,具體選擇哪種方案,需要結(jié)合業(yè)務(wù)數(shù)據(jù)的復(fù)雜程度來(lái)評(píng)估。04?

總結(jié)

綜上,具體選擇以上兩種方案中的哪一種,其實(shí)僅靠一個(gè)指標(biāo)判斷是不夠的,要結(jié)合以上多個(gè)指標(biāo)以及具體的業(yè)務(wù)場(chǎng)景來(lái)進(jìn)行綜合評(píng)估的。下面針對(duì)兩種典型的場(chǎng)景來(lái)說(shuō)明應(yīng)該如何選擇適合自己方案,以下意見(jiàn)僅供參考。

場(chǎng)景 1:在涉及到的讀表比例高于寫(xiě)表、并且整庫(kù)遷移成本較高的情況下,推薦選擇影子表方案,在一定程度上可以減少?gòu)?fù)雜的數(shù)據(jù)遷移帶來(lái)的成本。場(chǎng)景 2:在涉及到的寫(xiě)表比例高于讀表,同時(shí)生產(chǎn)庫(kù)實(shí)例容量較為充足的情況下,推薦選擇影子庫(kù)方案,在一定程度上降低了梳理、配置的成本。

責(zé)任編輯:武曉燕 來(lái)源: 阿里巴巴中間件
相關(guān)推薦

2024-06-26 08:55:29

2013-01-29 09:29:34

影子IT公有云計(jì)算云服務(wù)

2022-06-16 10:48:07

系統(tǒng)壓測(cè)數(shù)據(jù)

2017-10-31 09:43:31

2016-11-09 18:07:00

京東

2021-03-18 11:41:04

影子IT影子IoT物聯(lián)網(wǎng)安全

2016-07-05 09:38:08

2021-09-02 10:30:51

mPaaS 全鏈路壓力測(cè)試

2018-01-31 09:34:25

互聯(lián)網(wǎng)電商全鏈路

2018-01-10 14:08:34

阿里雙11壓測(cè)

2021-05-27 18:41:27

高可用nginxHAProxy

2015-04-01 14:57:01

2022-04-28 14:09:02

SaaSSaaS安全

2015-12-04 15:21:43

2024-09-14 15:31:12

2020-11-03 12:32:25

影子物聯(lián)網(wǎng)物聯(lián)網(wǎng)IOT

2016-10-12 17:12:42

影子云服務(wù)云服務(wù)

2023-09-19 11:51:11

2023-01-30 22:34:44

Node.js前端

2011-09-05 09:44:35

云計(jì)算大數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)