什么?只為業(yè)務(wù)高峰付費,低峰不付費,還有這種好事?

來源:騰訊云數(shù)據(jù)庫
作者:騰訊云數(shù)據(jù)庫
時間:2023-08-25
2874
7月中旬,騰訊云7 24h售后支持群收到來自X-Girl(化名)客戶的消息,客戶直呼咱家數(shù)據(jù)庫幫大忙了,想要親自感謝騰訊云MySQL團隊。

7月中旬,騰訊云7 24h售后支持群收到來自X-Girl(化名)客戶的消息,客戶直呼咱家數(shù)據(jù)庫幫大忙了,想要親自感謝騰訊云MySQL團隊。

誒?怎么回事呢?

關(guān)于X-Girl

X-Girl是一家線上線下同時運營的女裝店,既從廠家拿貨轉(zhuǎn)售給各大渠道商,又同時經(jīng)營自家店鋪。為方便自家店鋪的經(jīng)營以及渠道商的下單,訂單交易從原來的微信溝通轉(zhuǎn)移至網(wǎng)店、小程序等。X-Girl公司擁有一名懂技術(shù)的人員,但是也不太熟悉數(shù)據(jù)庫,因此早在建站初期就加入了騰訊云數(shù)據(jù)庫7 24h售后支持群,平時運維管理也很輕松。

原來,在7月初X-Girl客戶家的一款小黑裙突然爆紅,網(wǎng)店、小程序等訪問量飆升,但這次的爆紅跟之前的爆紅可不一樣,系統(tǒng)歲月靜好,仿佛無事發(fā)生。之前突然出現(xiàn)爆款產(chǎn)品時會頁面卡頓、訪問崩潰,本來都做好了和渠道商挨個解釋的準(zhǔn)備,這次居然都沒有?這成功引發(fā)了DBA的好奇心,經(jīng)過復(fù)盤,破案了。

原來半個月前DBA看到控制臺上更新了“CPU彈性擴容”的新功能,開啟不收費,觸發(fā)之后才開始收費,想到曾經(jīng)CPU利用率打到90%的刺激經(jīng)歷,于是DBA決定試試,萬一呢?命運的齒輪開始轉(zhuǎn)動……

咱家的CPU彈性擴容功能是6月28日上線的,X-Girl因為長期使用控制臺關(guān)注到了這個更新,第一時間就買定離手。巧的是,7月初小黑裙頻登熱搜,原廠同款小黑裙早已斷貨,X-Girl的同類型小黑裙因價格實惠被渠道商和散客瘋搶。CPU彈性擴容就這樣派上了大用場。

來吧,有了CPU彈性擴容,再“爆”都不帶怕的!

那么CPU彈性擴容究竟是個啥?本期就讓小編帶您走進CPU的世界。

為什么推出CPU彈性擴容?

總結(jié)起來就幾句話——“應(yīng)客戶之訴求,防CPU之風(fēng)險,解升配之困難,降客戶之成本”,幫助客戶彈得更快更穩(wěn)的同時,還更便宜。

眾所周知,業(yè)務(wù)存在高峰低谷,多數(shù)情況下客戶選擇一個配置就要持續(xù)為其付費,無論高峰無論低谷?!案叻迩拔覀兩湔娴暮茈y,而且高峰并不好預(yù)測,有沒有辦法實現(xiàn)短時間快速把計算資源升上去呢?還有,低峰期我用不上這么高規(guī)格的實例,成本真的很高”,大客戶向騰訊云MySQL團隊訴苦,并期望能盡快給出解決方案。CPU彈性擴容功能就是這么來的。

CPU彈性擴容功能的必要性其實無需評估也知道,客戶害怕CPU被打爆,CPU也容易被打爆,尤其在降本的時代,能用小規(guī)格客戶就會使用小規(guī)格。一旦出現(xiàn)突發(fā)流量、死鎖、慢查詢、高并發(fā)等情況,服務(wù)就會有不可用的風(fēng)險。

一旦發(fā)現(xiàn)CPU被打爆或者預(yù)測流量高峰即將到來,客戶的第一反應(yīng)一定是“趕緊升配”?,F(xiàn)網(wǎng)變配時長會受到數(shù)據(jù)量的影響,導(dǎo)致等待時長不定,同時升配過程中可能會出現(xiàn)閃斷情況,影響業(yè)務(wù)正常運行。

CPU彈性擴容功能的原理非常好理解,當(dāng)數(shù)據(jù)庫訪問量增加或CPU資源占用率上升時,CPU資源彈起來,并在高峰期結(jié)束后自動縮回去。那么CPU彈性擴容是怎么幫助客戶節(jié)省成本的呢?很簡單,就是客戶只為業(yè)務(wù)高峰付費,無須為業(yè)務(wù)低峰期付費。我們一起來算一筆賬:

假設(shè)客戶使用北京地域32C 256G通用型三節(jié)點,每天高峰期合計1h,其余23h為低峰期。我們就按照當(dāng)天升配的情況,配置升級至48C 488G使用24小時需額外付費(207.4-108.8) 24=2366.4元,而使用CPU彈性擴容僅需額外支付32 0.81 1=25.92元。也就是說,在該情況下一天節(jié)省2340.48元,成本降低98.9%。

怎么彈?

CPU彈性擴容功能基于云環(huán)境優(yōu)勢,實現(xiàn)動態(tài)分配CPU資源。用戶可在控制臺上選擇是否開啟CPU彈性擴容功能,根據(jù)業(yè)務(wù)的需求和業(yè)務(wù)量動態(tài)地配置數(shù)據(jù)庫的CPU資源,從而完成彈性擴展,應(yīng)對高峰壓力,確保數(shù)據(jù)庫實例的高性能、高可用性和高穩(wěn)定性。

CPU彈性擴容功能分為【自動擴容】與【手動擴容】兩種類型,其中:

自動擴容:用戶自行設(shè)置擴容閾值和觀測周期,默認(rèn)擴容1倍核數(shù),當(dāng)實例CPU達到閾值超過觀測周期時,擴容功能生效。相同地,當(dāng)實例CPU達到縮容閾值超過觀測周期時,縮容功能生效,期間無需客戶做其他操作。

手動擴容:手動擴容可選擇擴容核數(shù),支持1核單位擴容,最高支持1倍核數(shù)。當(dāng)用戶開啟手動擴容成功時,實例按照擴容后的CPU核數(shù)運行。當(dāng)業(yè)務(wù)無需更多CPU資源時,需手動關(guān)閉CPU彈性擴容,否則收費會持續(xù)進行。

640.png

CPU彈性擴容功能流程圖

用實驗數(shù)據(jù)說話

功能操作簡單又效果明顯,真的那么好使嗎?一起來做個對比實驗看看吧!

批量購買3個北京七區(qū)通用型2C 4G雙節(jié)點云數(shù)據(jù)庫MySQL實例,分別為:

A組:NO-CPU-Expand,不開啟CPU彈性擴容功能

B組:AUTO-CPU-Expand,開啟CPU彈性自動擴容功能,CPU利用率超70%1min則觸發(fā)自動擴容,CPU利用率低于30%5min則觸發(fā)自動回縮;

C組:MANUAL-CPU-Expand,開啟CPU彈性手動擴容功能,擴容核數(shù)為2核;

Tips:建議提前設(shè)置max_prepared_stmt_count參數(shù)為最高值,應(yīng)對高并發(fā)。

sysbench準(zhǔn)備數(shù)據(jù),單表10w數(shù)據(jù)量,10張表:

sysbench–-db-driver=mysql–-mysql-host=xxx–-mysql-port=xxxx–-mysql-user=xxx–-mysql-password=‘XXXXXXXXXX’–-mysql-db=sbtest-–table_size=100000–-tables=10–-events=0–-time=XXX–-threads={X,Y}oltp_read_write prepare

sysbench運行高并發(fā):

sysbench--db-driver=mysql--mysql-host=xxx--mysql-port=xxxx--mysql-user=xxx--mysql-password=‘XXXXXXXXXX’--mysql-db=sbtest--table_size=100000--tables=10--events=0--time=XXX--threads={X,Y}--percentile=95--report-interval=1 oltp_read_write run

如下圖所示,在三組CPU彈性擴容功能的對比實驗結(jié)果中,我們可以看到:

第一階段:21:03開啟數(shù)據(jù)注入,NO-CPU-Expand和AUTO-CPU-Expand的CPU利用率打到70%以上,但時長未超過1min。因此,AUTO-CPU-Expand組未觸發(fā)自動擴容功能;而,MANUAL-CPU-Expand一開啟即擴容,已經(jīng)是4核運行狀態(tài),CPU利用率不到50%。

第二階段:21:07開啟高并發(fā)測試,NO-CPU-Expand的CPU利用率始終在70%以上,AUTO-CPU-Expand的CPU利用率在70%以上超過1min時觸發(fā)了自動擴容,秒級擴容成功,利用率降低至50%以下;MANUAL-CPU-Expand的CPU利用率始終保持在50%以下。

640

對比實驗--CPU利用率變化情況

除了CPU利用率有顯著變化外,開啟彈性擴容功能的實例性能表現(xiàn)同樣明顯(畢竟多了一倍核),如下圖所示,開啟彈性擴容功能的TPS、QPS均高于未開啟的實例。

注意:測試的性能表現(xiàn)與測試時段、時長、機器等因素有一定的關(guān)系,建議多次測試對比結(jié)果。

640

對比實驗--TPS、QPS性能表現(xiàn)

這么好用,貴不貴?

如上文所述,CPU彈性擴容分為自動擴容和手動擴容兩種類型,不同類型其收費邏輯是不同的。

自動擴容彈多少計多少,不彈不計費,可以完美實現(xiàn)“無需為低峰付費”這一理念。也就是說即便我們早早的在控制臺開啟了自動擴容,并不是馬上就開始計費的,而是成功觸發(fā)了擴容條件之后,才開始計費??s容也是如此,成功縮容后收費停止,客戶無需在控制臺上點擊關(guān)閉。

注:為避免出現(xiàn)持續(xù)間歇高峰的影響,在自動擴容時存在最短保護時間,為10min。即整個自動擴容過程小于等于10min時,按照10min收費,大于10min時,按照實際使用時間收費。

手動擴容則是開啟功能即計費開始,關(guān)閉功能即計費結(jié)束。所以選擇使用手動擴容的客戶可要注意咯,一定要記得手動關(guān)閉哦。

同樣的,我們拿上述實驗做個計費說明,如下圖所示,我們可以看出:

AUTO-CPU-Expand在21:07時CPU利用率達到70%以上,在21:08時觀測時長超過1min,成功觸發(fā)自動擴容,此時計費開始??s容觀測周期為5min,小于最短保護時間(10min),因此實例在21:18觸發(fā)自動擴容關(guān)閉,此時計費結(jié)束。因此,AUTO-CPU-Expand計費周期為21:08--21:18,時長為10min,最終花費0.18元。

MANUAL-CPU-Expand在20:52時手動開啟,此時計費開始。功能在21:26手動結(jié)束,此時計費結(jié)束。整個手動擴容過程時長34.09min,最終花費0.61元。

640

對比實驗--功能計費說明

相信不用比較大家也能很清楚,開啟自動擴容一定是個絕佳的降本選擇。

都看到這兒了,不試試?

綜上,騰訊云MySQL推出的CPU彈性擴容功能,支持根據(jù)設(shè)定的CPU平均使用率閾值和觀測周期進行自動擴縮容,也可以支持手動擴展當(dāng)前實例的CPU上限,能更好的緩解突發(fā)請求帶來的性能壓力,適配業(yè)務(wù)高峰流量,保障線上業(yè)務(wù)穩(wěn)定性。未來,騰訊云MySQL還將繼續(xù)優(yōu)化該功能的設(shè)計,推出獨享型實例CPU彈性、自定義擴容時間等功能,完善事件告警策略,給到客戶更優(yōu)體驗。如果您想深入了解該功能,歡迎進入騰訊云MySQL產(chǎn)品文檔主頁,查看CPU彈性擴容的全面攻略。

立即登錄,閱讀全文
原文鏈接:點擊前往 >
文章來源:騰訊云數(shù)據(jù)庫
版權(quán)說明:本文內(nèi)容來自于騰訊云數(shù)據(jù)庫,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多