国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐

這篇具有很好參考價值的文章主要介紹了【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、引言:

隨著云計算技術(shù)的不斷發(fā)展,越來越多的企業(yè)開始選擇將自己的數(shù)據(jù)庫部署在云上,以更好了的支持企業(yè)數(shù)字化轉(zhuǎn)型以及業(yè)務創(chuàng)新,在這個過程中,很多客戶會遇到這樣一個問題,業(yè)務會存在高峰期和低谷期,同樣數(shù)據(jù)庫的訪問量也是會存在相應的高峰期和低谷期。

序號 業(yè)務負載 業(yè)務痛點
1 在業(yè)務的高峰期 ①. 客戶選擇的小規(guī)格的數(shù)據(jù)庫服務無法承載業(yè)務的高額負載。
②. 為避免出現(xiàn)數(shù)據(jù)庫服務不可用的情況,需要做臨時的規(guī)格升配。
③. 或者在一開始就選擇夠買大規(guī)格的云數(shù)據(jù)庫實例。
2 在業(yè)務的低谷期 ①. 客戶又會發(fā)現(xiàn)大規(guī)格的數(shù)據(jù)庫服務在每天產(chǎn)生高額的賬單。
②. 導致了很多不必要的費用。

傳統(tǒng)的數(shù)據(jù)庫服務并不能很好的解決這個問題,只能依賴反復的人工升降配,即不安全穩(wěn)定,又會造成額外的IT運維成本以及人力資源成本,因此在客戶的強烈的降本增效呼聲之中,騰訊云TDSQL-C MySQL Serverless數(shù)據(jù)庫應運而生。

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

借助《騰訊云TDSQL-C聯(lián)合CSDN產(chǎn)品測評活動》,讓我們來深入了解并實踐一下TDSQL-C MySQL Serverless數(shù)據(jù)庫,利用產(chǎn)品的資源用量低、簡單易用、彈性靈活和價格低廉等優(yōu)點和特性,賦能業(yè)務合理優(yōu)化使用成本,創(chuàng)造價值,進一步助力企業(yè)降本增效,為國產(chǎn)云數(shù)據(jù)庫點贊,遙遙領(lǐng)先。


二、TDSQL-C MySQL Serverless數(shù)據(jù)庫:

TDSQL-C MySQL Serverless數(shù)據(jù)庫是騰訊云針對中小型企業(yè)或個人開發(fā)者推出的一款數(shù)據(jù)庫,提供了CPU、內(nèi)存的實時彈性能力,構(gòu)建云架構(gòu)下的數(shù)據(jù)庫產(chǎn)品新形態(tài)。

1. 什么是Serverless?

Serverless無服務器架構(gòu)是基于互聯(lián)網(wǎng)的系統(tǒng),其中應用開發(fā)不使用常規(guī)的服務進程。相反,它們僅依賴于第三方服務(例如騰訊云Serverless Framework服務),客戶端邏輯和服務托管遠程過程調(diào)用的組合。

云計算的發(fā)展從IaaS、PaaS、SaaS,到最新的BaaS、FasS,在這個趨勢中Serverless(去服務器化)越來越明顯,隨著容器技術(shù),IoT,5G,區(qū)塊鏈等技術(shù)的快速發(fā)展,技術(shù)上對去中心化,輕量虛擬化,細粒度計算等技術(shù)需求愈發(fā)強烈,未來Serverless將在云計算的舞臺上大放異彩。

云計算經(jīng)歷了從 IaaS -> PaaS -> Serverless/FaaS 的發(fā)展歷程,下面對這些概念做一些基本介紹。

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

序號 簡稱 云服務架構(gòu)中文名稱 作用
1 IaaS 服務商提供底層/物理層基礎(chǔ)設(shè)施資源 通過IaaS提供的服務平臺購買虛擬資源,選擇操作系統(tǒng),安裝軟件,部署程序。
2 PaaS 服務商提供基礎(chǔ)設(shè)施底層服務 提供操作系統(tǒng)、數(shù)據(jù)庫服務器、Web服務器、負載均衡器和其他中間件,相對于IaaS客戶僅僅需要自己控制上層的應用程序部署與應用托管的環(huán)境。
3 BaaS 服務商為客戶(開發(fā)者)提供整合云后端的服務 如提供文件存儲、數(shù)據(jù)存儲、推送服務、身份驗證服務等功能,以幫助開發(fā)者快速開發(fā)應用。
4 FaaS 服務商提供一個允許客戶開發(fā)、運行和管理應用程序功能的平臺,而無需構(gòu)建和維護基礎(chǔ)架構(gòu) 按照此模型構(gòu)建應用程序是實現(xiàn)“無服務器”體系結(jié)構(gòu)的一種方式。

總結(jié)的說,從IDC → IaaS,用戶不用關(guān)注真實的物理資源。從IaaS → PaaS,用戶不再關(guān)注操作系統(tǒng),數(shù)據(jù)庫,中間件等基礎(chǔ)軟件。從PaaS → BaaS/FaaS, 用戶可以很少甚至不用關(guān)注后臺。Serverless是云計算發(fā)展到一定階段的必然產(chǎn)物:

  • “綠色”計算(最大程度利用資源,減少空閑資源浪費)
  • “低門檻”技術(shù)(成本低,包括學習成本及使用成本)

2. TDSQL-C MySQL Serverless數(shù)據(jù)庫實例的優(yōu)勢:

與普通MySQL數(shù)據(jù)庫實例相比,TDSQL-C MySQL Serverless數(shù)據(jù)庫實例有如下6點明顯的優(yōu)勢:

優(yōu)勢:
①. 由于其規(guī)格隨業(yè)務需求量隨時調(diào)整,總體浪費的資源很少,提升了資源利用率,降低了資源使用量。
②. 在高峰期也能完全滿足業(yè)務需求,保證業(yè)務不受損,提高了系統(tǒng)的穩(wěn)定性。
③. 打破固定資源付費的模式,做到真正負載與資源動態(tài)匹配的按量付費,可節(jié)省大量成本。
④. 無需手動變配,提高了運維效率,降低了運維管理人員和開發(fā)人員的運維成本。
⑤. 支持自動啟停能力,當沒有連接時,實例自動暫停,釋放計算成本;當請求連接時,自動無感啟動。
⑥. 對高吞吐寫入場景和高并發(fā)業(yè)務進行了設(shè)計優(yōu)化,同時提供了彈性伸縮能力,適合業(yè)務數(shù)據(jù)量大、并具有典型的業(yè)務訪問波峰波谷場景。

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫
TDSQL-C MySQL Serverless數(shù)據(jù)庫可以根據(jù)業(yè)務負載自動擴縮容實例,開發(fā)者無需關(guān)心底層資源問題,支持自定義自動暫停時間,在業(yè)務不間斷情況下實現(xiàn)秒級冷啟動,提供多種靈活計費方式供用戶選擇。

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

Serverless計費方式無需按固定資源付費,按照實際使用量進行收費,不使用不付費,根據(jù)業(yè)務負載自適應動態(tài)匹配資源,秒級彈性升降資源與計費,助力企業(yè)降本增效,最高可降低成本90%。

3. 生活場景闡述區(qū)別:

以在學校時,看過的一篇小說場景來進行闡述傳統(tǒng)數(shù)據(jù)庫與TDSQL-C MySQL Serverless數(shù)據(jù)庫直觀的對比,從生活中的實際場景來描述,從而更容易理解,從而選擇合適的產(chǎn)品。

每一年的國慶節(jié)假已經(jīng)來臨,2位主角安排了自己的旅游出行,由于雙方家庭經(jīng)濟基礎(chǔ)不一樣,所以,對于出行的安排也是會有區(qū)別的。

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

主角一:唐韻是工薪家庭
①. 為了節(jié)省成本,就根據(jù)距離的長短,彈性的乘坐性價(考量費用成本、時間成本)比合適的交通工具,距離可以當成數(shù)據(jù)庫平時的配置(比如2km相當于2核2G),隨著距離的大小,對應產(chǎn)生的計算費用也不同。
②. 所以,10個人用戶的系統(tǒng),使用2km的配置完全是夠的,但是20個人,需要使用20km的配置,依次類推,最后,在完全滿足出行的條件下,總共花費了1625元。
③. 在旅行期間,也不需要承擔交通的建設(shè)、設(shè)備的購買、設(shè)備的保養(yǎng)、司機的工資,也不需要在非出行時間段承擔相關(guān)的費用(實例不使用就不收費),只需要明確目的地就可以即方便又便宜的出行。
主角二:楚夢瑤家里有上市公司
①. 為了保障安全,家里購買了專人專用的私人飛機,可以應付所有的常規(guī)交通出行,而且也不用怕隨時會有堵車(并發(fā)量過高),唯一的代價就是費用比較昂貴(高配置實例固定收費)。
②. 哪怕飛機沒有起飛,也是會產(chǎn)生大量的費用,比如平時的保養(yǎng),飛行員的人力成本(實例購買了不用的期間也會產(chǎn)生費用)。

4. 總結(jié):

TDSQL-C MySQL Serverless數(shù)據(jù)庫實例提供計算資源按需計費的能力,具有資源用量低、簡單易用、彈性靈活和價格低廉等優(yōu)點,賦能用戶面向業(yè)務峰谷時對計算能力進行快速且獨立的擴縮要求,做到快速響應業(yè)務變化的同時,合理優(yōu)化使用成本,進一步助務企業(yè)降本增效。


三 、TDSQL-C MySQL Serverless數(shù)據(jù)庫服務特性:

TDSQL-C MySQL 版提供 Serverless 服務以滿足企業(yè)對特定業(yè)務場景的數(shù)據(jù)庫服務要求,助力企業(yè)降本增效。

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

1. TDSQL-C MySQL Serverless的總體架構(gòu):

Serverless 服務是騰訊云自研的新一代云原生關(guān)系型數(shù)據(jù)庫 TDSQL-C MySQL 版的無服務器架構(gòu)版,是全 Serverless 架構(gòu)的云原生數(shù)據(jù)庫。Serverless 服務支持按實際計算和存儲資源使用量收取費用,不用不付費,將騰訊云云原生技術(shù)普惠用戶。

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

上圖為TDSQL-C MySQL Serverless的總體架構(gòu),核心模塊為中控節(jié)點(svls scheduler)。中控節(jié)點接收計算層采集的內(nèi)存/CPU/訪問情況等監(jiān)控數(shù)據(jù),根據(jù)策略決定是否擴縮容,啟停實例,以及按照計費規(guī)則上報云控制臺計費。

TDSQL-C MySQL Serverless有faker模塊,暫停計算節(jié)點時會把四層的vip:vport綁定到faker端口,用戶請求過來后,識別為有效的MySQL協(xié)議,則通知中控模塊將實例重新拉起,其優(yōu)點在于用戶不需要為代理節(jié)點付費。

2. 資源擴縮范圍(CCU):

可調(diào)整 CCU 彈性擴縮容的范圍,Serverless 集群會在該范圍內(nèi)根據(jù)實際業(yè)務壓力自動增加或減少 CCU。

2.1 CCU是啥?

CCU(TDSQL-C Compute Unit)為 Serverless 的計算計費單位,一個 CCU 近似等于1個CPU和2GB內(nèi)存的計算資源,每個計費周期的 CCU 使用數(shù)量為:數(shù)據(jù)庫所使用的 CPU 核數(shù) 與 內(nèi)存大小的1/2 二者中取最大值。

Serverless 服務需要設(shè)定彈性范圍,詳細彈性范圍區(qū)間可參考 算力配置。

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

2.2 MySQL實例資源選擇:

通過TDSQL-C MySQL Serverless實例資源的算力配置,最低可選擇0.25CCU,代表0.25的CPU以及0.5GB內(nèi)存,最高可選擇64CCU,代表64的CPU以及128G的內(nèi)存,足以應付很多場景的覆蓋。

建議在第一次設(shè)置彈性范圍時,最小容量配置為0.25 CCU,最大容量選擇較高的值。較小的容量設(shè)置可以讓集群在完全空閑時最大限度地進行縮減,避免產(chǎn)生額外的費用,較大的容量可以在集群負載過大時最大限度地進行擴展,穩(wěn)定度過業(yè)務峰值。

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫
【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

通過指定實例資源波動的上下限,以CCU作為單位,讓數(shù)據(jù)庫服務變的更加靈活,切實的幫助企業(yè)達成降本增效的目標 。

3. 彈性策略:

Serverless 集群會持續(xù)監(jiān)控用戶的 CPU、內(nèi)存等 workload 負載情況,根據(jù)一定的規(guī)則觸發(fā)自動擴縮容策略。

3.1 傳統(tǒng)Serverless架構(gòu)中的自動擴縮容方案:

下圖左側(cè)傳統(tǒng)Serverless架構(gòu)中會有一個共享的虛擬機池,里面存放的是不同大小的規(guī)格,假設(shè)需要從1核2G擴大到2核4G,則從池子里面找到2核4G的虛擬機,將對應的數(shù)據(jù)盤掛載到虛擬機,并將訪問切到該虛擬機,即可完成自動擴容。

傳統(tǒng)Serverless架構(gòu)中自動擴容存在的問題點:

問題點:
①. 假設(shè)用戶就只需要4核8G,傳統(tǒng)Serverless架構(gòu)仍需要從1核2G、2核4G、4核8G逐漸遞增上去,擴容耗時偏長。
②. 由于選擇新的虛擬機擴容,會導致BP失效,訪問將經(jīng)歷一次冷啟動過程,用戶體驗不是太友好。

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

3.2 傳統(tǒng)TDSQL-C Serverless架構(gòu)中的自動擴縮容方案:

而上圖右側(cè)TDSQL-C Serverless架構(gòu)中,用戶在購買時選擇最小規(guī)格為1核2G,最大規(guī)格為4核8G。TDSQL-C Serverless會在初始就給用戶提供最大CPU規(guī)格,內(nèi)存則從最小規(guī)格開始??梢钥闯?,TDSQL-C Serverless的CPU資源不會受限,可以在設(shè)置的最大規(guī)格內(nèi)任意使用。優(yōu)點是用戶性能不受限,引入的缺點是可能整機出現(xiàn)滿負載。

基于以下兩點,TDSQL-C Serverless可以很好應對自動擴縮容:

TDSQL-C Serverless自動擴縮容方案:
①. 由于TDSQL-C采用存算分離架構(gòu),一旦監(jiān)控到整機資源超過閾值,就進行快速遷移,迅速在另外一臺相對空閑的機器重新拉起實例,秒級完成,在資源負載上可以精準控制。
②. 云數(shù)據(jù)庫整機利用率偏低。

3.3 小結(jié):

Serverless 服務的彈性策略是利用監(jiān)控計算層實現(xiàn)的。通過監(jiān)控業(yè)務負載情況,系統(tǒng)對計算資源進行自動擴縮容。

自動擴縮容原理:
①. Serverless 服務的彈性策略一開始會根據(jù)用戶購買時選擇的容量范圍,將 CPU、內(nèi)存資源限制到最大規(guī)格,極大程度降低因 CPU 和內(nèi)存擴容帶來的時間影響和使用限制。
②. 當集群觸發(fā)到自動彈性的負載閾值后,Buffer pool 會根據(jù)監(jiān)控提前進行分鐘級調(diào)整。
③. 在這個方案下用戶使用數(shù)據(jù)庫可以無感知進行 CPU 擴容,并且不會因為連接突增導致實例 OOM。

4. 自動啟停:

Serverless 服務支持自定義實例自動暫停時間,無連接時實例會自動暫停。當有任務連接接入時,實例會秒級無間斷自動喚醒。

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

當沒有數(shù)據(jù)庫請求時,監(jiān)控服務會觸發(fā)計算資源的回收,并通知接入層。當用戶再次訪問時,接入層則會喚醒集群,再次提供訪問。

5. 計費模式:

Serverless 服務通過監(jiān)控業(yè)務負載情況,系統(tǒng)對計算資源進行自動擴縮容,并對該時刻所消耗的資源進行計費。

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

6. 存儲資源包的誤區(qū):

模式 描述
想像的收費模式 ①. 買了多少存儲資源包,就能用多少量的數(shù)據(jù)存儲。
②. 比如購買了10TB存儲資源包,就可以長期使用,直到數(shù)據(jù)庫的數(shù)據(jù)達到10TB。
實際的收費模式 ①. 存儲資源包會按照每小時實際使用的存儲量進行抵扣收費,在實際項目要特別注意一下數(shù)據(jù)量的預估。
②. 比如購買了10TB存儲資源包,現(xiàn)有的數(shù)據(jù)量是200GB,計算的公式是10TB/(0.2* 24) = 2.08天

在使用過程中,發(fā)現(xiàn)一個存儲資源包的相關(guān)問題,有段時間沒有使用,在收取存儲資源的費用,記得當時明明已經(jīng)購買過存儲的資源包了,這么快就用完了嗎?記憶中好像用的數(shù)據(jù)量也不多。

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

查看TDSQL-C MySQL Serverless實際的使用存儲量為224.57GB,但是我購買的是40TB的存儲資源包,為什么這么快就用完了呢?

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

以下是購買資源包的列表,發(fā)現(xiàn)存儲資源包已經(jīng)滿了。

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

因為不知道是什么原因?qū)е碌?,只能無奈去提一個工單來詢問一下是什么問題。

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

以下為騰訊云工程師給的回復,40T的存儲資源包,而現(xiàn)在已使用的存儲為0.2T,每天是24小時,按照他給的公式,表示8天左右就會使用完。

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

看來是自己理解錯誤了,結(jié)論是存儲資源包會按照每小時實際使用的存儲量進行抵扣收費 ,在購買的時候,選擇計費模式的時候,上面也有備注。

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫


四、TDSQL-C MySQL Serverless自動啟停實驗:

1. MySQL數(shù)據(jù)庫連接原理:

MySQL 服務端實例啟動后,就可以通過客戶端建立與服務端的連接,然后發(fā)送查詢/更新請求了。

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

3種MySQL客戶端連接渠道:
①. 通過圖形化客戶端軟件(如MySQL Workbench、Navicat For MySQL、DataGrip、TablePlus、Sequel Pro等)建立與 MySQL 服務端的連接。
②. 通過 MySQL 安裝目錄 bin 目錄下的 mysql 二進制文件在終端窗口通過命令行建立與 MySQL 服務端的連接。
③. 在PHP、Go、Python、Java等后端編程語言中使用的數(shù)據(jù)庫SDK建立與 MySQL 服務端的連接,只不過SDK是對數(shù)據(jù)庫連接做了封裝而已。

2. 可視化圖形工具客戶端連接數(shù)據(jù)庫:

先將TDSQL-C Serverless服務器關(guān)掉,再在Navicat For MySQL填寫完Host、Port、User Name、Password后,點擊“Test Connection”后,可以看到服務器的實時監(jiān)控,發(fā)現(xiàn)有連接進來后,馬上把服務器進行恢復。因為沒有有效的記錄時間的方案,只能看折現(xiàn)圖,可以發(fā)現(xiàn)Threads進程是在23時48分15秒左右馬上啟動起來了。

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

3. MySQL二進制文件的兩種連接方式:

Linux平臺環(huán)境下主要有兩種連接方式,一種是TCP/IP連接方式,另一種就是socket連接:

  • 通過TCP/IP連接MySQL實例時,MySQL會先檢查一張權(quán)限表,用來判斷發(fā)起請求的客戶端IP是否允許連接到MySQL實例,該表就是MySQL庫下面的user表。
  • UNIX Socket連接方式其實不是一個網(wǎng)絡(luò)協(xié)議,所以只能在MySQL客戶端和數(shù)據(jù)庫實例在同一臺服務器上的情況下使用。
Unix套接字連接MySQL的優(yōu)勢:
①. 更快的連接速度:
Unix套接字連接不經(jīng)過TCP/IP協(xié)議棧,因此速度更快。
②. 更高的安全性:
Unix套接字連接只能在本地主機上使用,因此對于需要保護數(shù)據(jù)安全的數(shù)據(jù)庫應用程序來說,這是一個重要的因素。
③. 更少的網(wǎng)絡(luò)負載:
由于Unix套接字連接只在本地主機上連接,因此不會浪費帶寬和網(wǎng)絡(luò)負載。

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

因此,本次測試會采用MySQL TCP/IP的方式進行測試。

可以使用shell腳本來操作TDSQL-C MySQL Serverless數(shù)據(jù)庫自動啟停,使用-e參數(shù)可以執(zhí)行各種sql的(創(chuàng)建、刪除、增、刪、改、查)等各種操作。
【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

3.1 時間命令time的shell腳本:

腳本的作用是當數(shù)據(jù)庫暫停后,第一個mysql連接是模擬登錄到Serverless數(shù)據(jù)庫,出現(xiàn)自動啟動數(shù)據(jù)庫,看看時間是多久,然后,馬上再次用mysql連接模擬一下在數(shù)據(jù)庫啟動的狀態(tài)下,需要多久進行連接。

#!/bin/bash
# 數(shù)據(jù)庫信息
HOSTNAME="gz-cynosdbmysql-grp-69gvou9h.sql.tencentcdb.com"
PORT="25950"
USERNAME="root"
PASSWORD="Mydb123."

# 執(zhí)行查詢數(shù)據(jù)
query_sql="SHOW VARIABLES LIKE 'version';"
time mysql -h${HOSTNAME}  -P${PORT}  -u${USERNAME} -p${PASSWORD} -e "${query_sql} -vvv"
time mysql -h${HOSTNAME}  -P${PORT}  -u${USERNAME} -p${PASSWORD} -e "${query_sql} -vvv"

mysql -v參數(shù)的作用,為了防止SQL本身執(zhí)行時間影響到連接的效果,可以把SQL執(zhí)行的時間也打印出來。

● 若要同時顯示語句本身:-v
● 若要增加查詢結(jié)果行數(shù):-vv
● 若要增加執(zhí)行時間:-vvv

3.2 時間命令date的shell腳本:

#!/bin/bash
# 數(shù)據(jù)庫信息
HOSTNAME="gz-cynosdbmysql-grp-69gvou9h.sql.tencentcdb.com"
PORT="25950"
USERNAME="root"
PASSWORD="Mydb123."

# 執(zhí)行查詢數(shù)據(jù)
query_sql="SHOW VARIABLES LIKE 'version';"
firstStart=$(date +%s.%N)
mysql -h${HOSTNAME}  -P${PORT}  -u${USERNAME} -p${PASSWORD} -e "${query_sql}" -vvv
firstEnd=$(date +%s.%N)
firstRunTime=$(echo "$firstEnd - $firstStart" | bc)
echo "第一次首連命令執(zhí)行時間:$firstRunTime 秒"

secondStart=$(date +%s.%N)
mysql -h${HOSTNAME}  -P${PORT}  -u${USERNAME} -p${PASSWORD} -e "${query_sql}" -vvv
secondEnd=$(date +%s.%N)
secondRunTime=$(echo "$secondEnd - $secondStart" | bc)
echo "第二次連接命令執(zhí)行時間:$secondRunTime 秒"

4. 準備兩臺不同配置的機器:

評測的目標機器為TDSQL-C Serverless,使用的模式為按量收費,機房的位置在廣州四區(qū)。

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

準備兩臺測試機器,一臺是騰訊云的CVM云服務器,2核4G 10Mps,廣州七區(qū)與Serverless實例在同一個區(qū),一臺是華為云耀云服務器2核2G 3Mps,華北北京四區(qū),測一下不同服務器、不同區(qū)域的結(jié)果做比較。

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

騰訊云的CVM云服務器,可以通過orcaterm進行遠程登錄,可以進行如下的測試腳本執(zhí)行流程:

# 復制腳本
vi query.sh
# 增加執(zhí)行權(quán)限
chmod -R 777 query.sh
# 執(zhí)行shell腳本
./query.sh
# 檢查是否有mysql
mysql
# ubuntu安裝mysql客戶端
apt-get install -y mysql-client-core-8.0

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

5. 測試腳本分析實驗數(shù)據(jù):

通過2種查看linux執(zhí)行時間的命令的shell腳本,每次執(zhí)行前,先將服務器進行暫停,腳本中第1個mysql命令表示服務器暫停時默認啟用,看一下執(zhí)行的時間多久,這里需要注意的是因為SQL本身也會存在執(zhí)行時間,比如執(zhí)行一個慢查詢,這里為了得到比較合理的值,增加了-vvv參數(shù)來輸出SQL命令本身執(zhí)行的時間,得到的公式:

命令的總執(zhí)行時間 – SQL本身執(zhí)行的時間 = Serverless服務器自動啟動時間

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

每個腳本分別在2臺云服務器騰訊云CVM、華為云云耀云服務器各執(zhí)行5次,得出以下結(jié)果:

  • 可能由于騰訊云服務器與Serverless在相同的區(qū)域廣州機房,時間略比華為云服務器要短。
  • 基本上在2s左右就能完成Serverless服務器自動啟動。

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

云服務器(Cloud Virtual Machine,CVM)是騰訊云提供的可擴展的計算服務。使用云服務器避免了使用傳統(tǒng)服務器時需要預估資源用量及前期投入,幫助在短時間內(nèi)快速啟動任意數(shù)量的云服務器并即時部署應用程序,推薦應用在部署時,參考以下方案:

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

6. Java代碼連接MYSQL數(shù)據(jù)庫方式:

JDBC是Java數(shù)據(jù)庫連接(Java Database Connectivity),是一套用于執(zhí)行SQL語句的Java API。應用程序可以通過這套API連接到關(guān)系型數(shù)據(jù)庫,并使用SQL語句完成對數(shù)據(jù)中數(shù)據(jù)的查詢、增加、更新和刪除等操作。

JDBC在應用程序與數(shù)據(jù)庫之間起到了一個橋梁作用,當應用程序使用JDBC訪問特定的數(shù)據(jù)庫時,需要通過不同數(shù)據(jù)庫驅(qū)動與不同數(shù)據(jù)庫進行連接,連接后即可對該數(shù)據(jù)庫進行相應的操作。
【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

采用的邏輯是先將Java代碼啟動并且連接上數(shù)據(jù)庫,這時候,程序設(shè)定延遲1分鐘,此時,手動在服務器控制臺進行暫停服務器后,再讓程序進行SQL的操作,看看實際生產(chǎn)的一個真實情況能不能滿足?

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

Java核心的代碼:

@Component
public class Service implements ApplicationContextAware {
    @Autowired
    private ShopMapper shopMapper;

    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        try {
            Thread.sleep(60*1000);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }
        // 第一次首次連接(Serverless服務器自動觸發(fā)啟動)
        long firstStartTime = System.currentTimeMillis();
        System.out.println("SQL語句執(zhí)行前時間:" + firstStartTime);
        shopMapper.insertTest();
        long firstRunTime = System.currentTimeMillis()-firstStartTime;
        System.out.println("第一次總耗時:"+ firstRunTime);
        // 第二次連接
        long secondStartTime = System.currentTimeMillis();
        System.out.println("SQL語句執(zhí)行前時間:" + secondStartTime);
        shopMapper.insertTest();
        long secondRunTime = System.currentTimeMillis()-secondStartTime;
        System.out.println("第二次總耗時:"+ secondRunTime);
    }
}

執(zhí)行結(jié)果:

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

  • 項目啟動時,要對數(shù)據(jù)庫進行了實例化連接
  • 程序啟動后,會有一個60s的延遲設(shè)置,此時,手動暫停Serverless實例,模擬在程序啟動后,在一定時間內(nèi)不使用,Serverless服務器實例自動暫停
  • 第一次連接,觸發(fā)Serverless恢復感知器自動啟動服務器,可以看到在3.127s就完成了
  • 第二次連接,Serverless已經(jīng)恢復了,可以看到在0.089s內(nèi)完成操作

6. 小結(jié):

通過3種MySQL客戶端連接方式的進行測試,TDSQL-C MySQL Serverless自動啟停實驗,可以完全滿足生產(chǎn)環(huán)境的需求。


五、TDSQL-C MySQL Serverless彈性伸縮實驗:

下面將按照以下5個大的步驟進行對TDSQL-C MySQL Serverless的一個壓力的測試過程。

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

為了可以有效的進行測試觀察結(jié)果,TDSQL-C MySQL Serverless選擇了一個較大的算力彈性區(qū)間范圍[1,32],即最小可以是1核2G的云數(shù)據(jù)庫服務器(可能會更小,0.1都可能存在),最大可能是32核64G云數(shù)據(jù)庫服務器。

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

通過對壓測的結(jié)果進行分析,TDSQL-C MySQL Serverless在不使用的時候,就會釋放計算節(jié)點,只收取存儲的費用。當服務器啟動后,就會再加上計算節(jié)點的CCU費用,可以看到TDSQL-C MySQL Serverless在最開始的算力為1,可以隨著壓測的流量變大,同步增加到最大32個算力,當壓測停止后,又自動在后面縮容到算力到0為止。

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

以下為分3個階段進行TDSQL-C MySQL Serverless的測試,第一步本地進行多進程可以看到?jīng)]有太多的變化,第二步使用本地JMeter,由于機器配置的原因,也是沒有到達一個極限,最后第三步,在購買一臺高配的云服務器使用Jmeter壓測,可以達到實例的一個滿核的負載。

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

以下為從監(jiān)控平臺得到壓力測試這段時間內(nèi),得到各個指標參數(shù)的值,這里沒有把每一分鐘的變化值羅列出來,只是把一些波動變化比較大的值,在以下進行列舉:

時間段 CPU百分比 內(nèi)存百分比 內(nèi)存使用量 CCU算力值
11:50 1.04% 0.98% 700.24M 1
11:59 3.77% 1.73% 1232.21M 1.21
12:03 5.41% 3.89% 2763.62M 1.73
12:05 6.38% 3.89% 2766.62M 2.04
12:08 8.36% 3.89% 2764.70M 2.68
12:09 10.68% 7% 5332.13M 3.42
12:10 15.12% 8.87% 6304.86M 4.84
12:11 23.08% 15.09% 10731.04M 7.39
12:15 33.33% 18.08% 12856.34M 10.67
12:16 43.13% 34.1% 24250.74M 13.8
12:18 37.91% 35.29% 25095.05M 12.25
12:19 59.37% 35.29% 25098.40M 19
12:20 65.51% 52.72% 37488.47M 24.81
12:21 58.39% 79.58% 56593.07M 27.89
12:27 97.81% 80.35% 57140.87M 31.3
12:28 91.53% 80.35% 57140.92M 29.29
12:29 100% 80.36% 57145.35M 32
12:32 91.61% 80.37% 57150.45M 29.32
12:33 100% 80.37% 57153.46M 32
12:34 87.61% 80.37% 57151.07M 28.04
12:37 1.79% 58.81% 41821.7M 27.89
12:38 1.81% 35.05% 24923.48M 12.3
12:39 0.93% 15.68% 11147.32M 6.2
12:40 0.55% 7.42% 5278.11M 3.14
12:41 0.31% 3.39% 2412.45M 1.43
12:46 0.02% 1.98% 1410.64M 1
12:48 0% 0% 0M 0
12:50 0% 0% 0M 0

通過以上的指標數(shù)據(jù),我們把他放到echats中去查看,因為內(nèi)存使用量的值比較大,就不參與計算,通過對11:50到12:50這一個小時壓測得到的指標數(shù)據(jù),可以形成以下折現(xiàn)圖。

option = {
  title: {
    text: 'TDSQL-C Serverless CCU趨勢圖'
  },
  tooltip: {
    trigger: 'axis'
  },
  legend: {
    data: ['CPU使用率', '內(nèi)存的使用率', 'CCU算力值', 'Direct', 'Search Engine']
  },
  grid: {
    left: '3%',
    right: '4%',
    bottom: '3%',
    containLabel: true
  },
  toolbox: {
    feature: {
      saveAsImage: {}
    }
  },
  xAxis: {
    type: 'category',
    boundaryGap: false,
    data: ["11:50", "11:59", "12:03", "12:05", "12:08", "12:09", "12:10", "12:11", "12:15", "12:16", "12:18", "12:19", "12:20", "12:21", "12:27", "12:28", "12:29", "12:32", "12:33", "12:34", "12:37", "12:38", "12:39", "12:40", "12:41", "12:46", "12:48", "12:50"]
  },
  yAxis: {
    type: 'value'
  },
  series: [
    {
      name: 'CPU使用率',
      type: 'line',
      stack: 'Total',
      data: ["1.04", "3.77", "5.41", "6.38", "8.36", "10.68", "15.12", "23.08", "33.33", "43.13", "37.91", "59.37", "65.51", "58.39", "97.81", "91.53", "100", "91.61", "100", "87.61", "1.79", "1.81", "0.93", "0.55", "0.31", "0.02", "0", "0"]
    },
    {
      name: '內(nèi)存的使用率',
      type: 'line',
      stack: 'Total',
      data: ["0.98", "1.73", "3.89", "3.89", "3.89", "7", "8.87", "15.09", "18.08", "34.1", "35.29", "35.29", "52.72", "79.58", "80.35", "80.35", "80.36", "80.37", "80.37", "80.37", "58.81", "35.05", "15.68", "7.42", "3.39", "1.98", "0", "0",]
    },
    {
      name: 'CCU算力值',
      type: 'line',
      stack: 'Total',
      data: ["1", "1.21", "1.73", "2.04", "2.68", "3.42", "4.84", "7.39", "10.67", "13.8", "12.25", "19", "24.81", "27.89", "31.3", "29.29", "32", "29.32", "32", "28.04", "27.89", "12.3", "6.2", "3.14", "1.43", "1", "0", "0",]
    },
  ]
};

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

  • 前期CPU和內(nèi)存都在成正比增長的趨勢,CCU也是一個成正比的趨勢
  • 后期CPU急劇下降,而內(nèi)存的降低幅度沒那么快,CCU是與CPU和內(nèi)存一起有關(guān)聯(lián)的,可以看到CCU的折線在CPU與內(nèi)存折線之間

在TDSQL-C MySQL Serverless達到波峰的時候,CPU達到100%,順便測試了一下查詢語句,還是能夠很快速的訪問并得到結(jié)果,只要項目中沒有大量的慢查詢,項目估計還是可以正常的運行的。

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫


六、公司業(yè)務導入TDSQL-C MySQL Serverless可行性分析:

公司的業(yè)務是做定制化車險的,在創(chuàng)業(yè)前期大多采用與第三方機構(gòu)合作,快速驗證商業(yè)模式,用以迅速打開市場。

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

隨著業(yè)務體系的逐漸完善,公司也慢慢的導入自研的體系,以下是公司可回溯系統(tǒng)的建設(shè)體系,對比TDSQL-C MySQL Serverless數(shù)據(jù)庫對比的場景優(yōu)化思考。

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

(1). 回溯的場景周期較短,剩余時間不使用也要付費:

開發(fā)的某類產(chǎn)品分為投保期和理賠期,投保期一般為2-3個月,等到承保期后,就不再使用了,就是理賠的階段,這樣來看,目前也是按照包年模式來購買的數(shù)據(jù)庫,這樣會造成資源的過剩,應該是周期性的資源購買。

(2). 歸檔后,只有少量的異常案例需要回溯,使用率不高:

可以省出計算節(jié)點的費用,只單純的使用存儲量的費用,如果進一步集成COS,可能費用會再一次壓縮與縮減。

Serverless數(shù)據(jù)庫其它的應用場景:

由于傳統(tǒng)企業(yè)通常已經(jīng)預置了大量軟硬件資源,以及用戶使用習慣不易改變等因素,Serverless數(shù)據(jù)庫在傳統(tǒng)企業(yè)現(xiàn)有業(yè)務中的采用將需要一定的過程,但在以下一些新興行業(yè)企業(yè)或新興業(yè)務場景,Serverless數(shù)據(jù)庫正在快速展現(xiàn)其優(yōu)勢,并占據(jù)重要位置。

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫


七、總結(jié):

TDSQL-C MySQL Serverless數(shù)據(jù)庫實例不僅提供網(wǎng)絡(luò)資源、命名空間、存儲空間的垂直資源隔離能力,還提供計算資源按需計費的能力,具有資源用量低、簡單易用、彈性靈活和價格低廉等優(yōu)點,賦能用戶面向業(yè)務峰谷時對計算能力進行快速且獨立的擴縮要求,做到快速響應業(yè)務變化的同時,合理優(yōu)化使用成本,進一步助務企業(yè)降本增效。

【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐,騰訊云,serverless,云計算,數(shù)據(jù)庫

在業(yè)務波動較大的場景下,普通數(shù)據(jù)庫實例和TDSQL-C MySQL Serverless數(shù)據(jù)庫實例資源使用和規(guī)格變化情況,可以看出普通實例在波谷期浪費的資源較多,在高峰期資源不足會導致客戶業(yè)務受損,而TDSQL-C MySQL Serverless數(shù)據(jù)庫實例憑借其極致的彈性,完美的支持了客戶不同時段的業(yè)務負載,并且在最大程度上避免了資源的浪費,節(jié)省了大量的成本。文章來源地址http://www.zghlxwxcb.cn/news/detail-730335.html

到了這里,關(guān)于【騰訊云 TDSQL-C Serverless 產(chǎn)品體驗】TDSQL-C MySQL Serverless最佳實踐的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包