成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

高性能MySQL讀書(shū)筆記(2)--MySQL基準(zhǔn)測(cè)試

233jl / 1042人閱讀

摘要:當(dāng)并發(fā)性增加時(shí),需要測(cè)量吞吐量是否下降,響應(yīng)時(shí)間是否變長(zhǎng)可擴(kuò)展性可擴(kuò)展性不是壓力測(cè)試的指標(biāo),可擴(kuò)展性指標(biāo)對(duì)于容量規(guī)范非常有用,它可以提供其他測(cè)試無(wú)法提供的信息,來(lái)幫助發(fā)現(xiàn)應(yīng)用的瓶頸歸根結(jié)底,應(yīng)該測(cè)試那些對(duì)用戶(hù)來(lái)說(shuō)最重要的指標(biāo)。

基準(zhǔn)測(cè)試是什么?

簡(jiǎn)單來(lái)說(shuō),基準(zhǔn)測(cè)試是則很難對(duì)系統(tǒng)設(shè)計(jì)的一種壓力測(cè)試,通常的目標(biāo)是為了掌握系統(tǒng)的行為。但也有其他原因。比如重現(xiàn)某個(gè)系統(tǒng)狀態(tài),或者是做新硬件的可靠性測(cè)試。

為什么需要基準(zhǔn)測(cè)試

因?yàn)榛鶞?zhǔn)測(cè)試是唯一有效方便的,可以學(xué)習(xí)系統(tǒng)在給定的工作負(fù)載下會(huì)發(fā)生什么的方法。系統(tǒng)測(cè)試可以觀察在不同壓力下的行為,評(píng)估系統(tǒng)的容量,掌握哪些是重要的變化,或者觀察系統(tǒng)如何處理不同的數(shù)據(jù)。

基準(zhǔn)測(cè)試可以完成的工作:

  • 驗(yàn)證系統(tǒng)的假設(shè)以及這些假設(shè)是否符合實(shí)際情況
  • 重現(xiàn)并解決系統(tǒng)中的異常行為
  • 測(cè)試系統(tǒng)當(dāng)前的運(yùn)行情況和利用歷史的基準(zhǔn)測(cè)試結(jié)果分析一些無(wú)法預(yù)測(cè)的問(wèn)題
  • 模擬比當(dāng)前系統(tǒng)更高的負(fù)載從而找出系統(tǒng)隨壓力增加而遇到的瓶頸
  • 規(guī)劃未來(lái)的業(yè)務(wù)增長(zhǎng)
  • 測(cè)試應(yīng)用適應(yīng)可變環(huán)境的能力
  • 測(cè)試不同的硬件,軟件和操作系統(tǒng)配置
  • 證明新采購(gòu)的設(shè)備是否配置正確

基準(zhǔn)測(cè)試的一個(gè)主要問(wèn)題在于其不是真實(shí)壓力的測(cè)試。基準(zhǔn)測(cè)試施加給系統(tǒng)的壓力相對(duì)真實(shí)壓力來(lái)說(shuō),通常會(huì)比較簡(jiǎn)單,因?yàn)檎鎸?shí)壓力是不可預(yù)期而且變化多端的,有時(shí)候情況會(huì)過(guò)于復(fù)雜而難以解釋。

那么基準(zhǔn)測(cè)試和真實(shí)壓力不同在什么地方?

  • 數(shù)據(jù)量,數(shù)據(jù)和查詢(xún)的分布
  • 但最重要的一點(diǎn)是基準(zhǔn)測(cè)試通常要求盡可能快完成,所以會(huì)給系統(tǒng)造成過(guò)大的壓力,所以一般都會(huì)調(diào)整給測(cè)試工具的最大壓力,一遍系統(tǒng)可以在閾值內(nèi)完成測(cè)試

結(jié)論就是,我們只能進(jìn)行大概的測(cè)試,來(lái)確定系統(tǒng)大致的余量有多少。當(dāng)然也可以做一些真實(shí)的壓力測(cè)試,但在構(gòu)造數(shù)據(jù)集和壓力要特別小心,而且這樣就不再是基準(zhǔn)測(cè)試了?;鶞?zhǔn)測(cè)試要簡(jiǎn)單直接,結(jié)果之間相互容易比較

基準(zhǔn)測(cè)試的策略

兩種主要策略:

  1. 集成式:針對(duì)整個(gè)系統(tǒng)的整體測(cè)試
  2. 單組件式:多帶帶測(cè)試MySQL

針對(duì)測(cè)試整個(gè)系統(tǒng)做集成式測(cè)試而不是多帶帶測(cè)試的原因有以下幾點(diǎn):

  • 因?yàn)橛脩?hù)關(guān)注的不僅僅是MySQL本身的性能,而是應(yīng)用整體的性能
  • MySQL并非總是應(yīng)用的瓶頸
  • 只有對(duì)整體應(yīng)用做測(cè)試,才能發(fā)i西安各部分之間的緩存帶來(lái)的影響
  • 集成式測(cè)試更能揭示應(yīng)用的真實(shí)表現(xiàn),而多帶帶組件很難做到這一點(diǎn)

但是集成式測(cè)試很難建立,如果基準(zhǔn)測(cè)試的設(shè)計(jì)有問(wèn)題,那么結(jié)果就無(wú)法反映真實(shí)的情況,決策也可能是錯(cuò)的。

所以有的時(shí)候不需要了解整個(gè)應(yīng)用的情況,而只需要關(guān)注MySQL的性能,至少在項(xiàng)目初期可以這樣做,以下情況,可以選擇只測(cè)試MySQL:

  • 需要比較不同的schema或查詢(xún)的性能
  • 針對(duì)應(yīng)用中某個(gè)問(wèn)題的測(cè)試
  • 為了避免漫長(zhǎng)的基準(zhǔn)測(cè)試,可以通過(guò)一個(gè)短期的基準(zhǔn)測(cè)試,做快速的”周期循環(huán)“

另外,如果能夠在真實(shí)的數(shù)據(jù)集上執(zhí)行重復(fù)的查詢(xún),那么也是有用的,如果可能,可以采用生產(chǎn)環(huán)境的數(shù)據(jù)快照。不幸的是,設(shè)置一個(gè)基于真實(shí)數(shù)據(jù)的基準(zhǔn)測(cè)試復(fù)雜而且耗時(shí),而且開(kāi)發(fā)一個(gè)新應(yīng)用,只有很少的數(shù)據(jù)量,如果想要測(cè)試規(guī)模擴(kuò)張后的性能表現(xiàn),只能通過(guò)模擬大量的數(shù)據(jù)和壓力進(jìn)行

測(cè)試何種指標(biāo)

不同的指標(biāo)需要用不同的方法測(cè)試

以下指標(biāo):

  • 吞吐量:?jiǎn)挝粫r(shí)間內(nèi)事務(wù)處理數(shù)。這類(lèi)基準(zhǔn)測(cè)試主要是針對(duì)在線事務(wù)處理(OLTP)的吞吐量,測(cè)試的常用單位是每秒或每分鐘事務(wù)數(shù)(TPS/TPM)
  • 響應(yīng)時(shí)間或延遲:這個(gè)指標(biāo)用于測(cè)試任務(wù)所需的整體時(shí)間,一般使用百分比響應(yīng)時(shí)間
  • 并發(fā)性:非常重要但是經(jīng)常被誤解的指標(biāo)。并發(fā)性基準(zhǔn)測(cè)試需要關(guān)注的是正在工作中的并發(fā)操作,或者是同時(shí)工作的線程數(shù)或者是連接數(shù)。當(dāng)并發(fā)性增加時(shí),需要測(cè)量吞吐量是否下降,響應(yīng)時(shí)間是否變長(zhǎng)
  • 可擴(kuò)展性:可擴(kuò)展性不是壓力測(cè)試的指標(biāo),可擴(kuò)展性指標(biāo)對(duì)于容量規(guī)范非常有用,它可以提供其他測(cè)試無(wú)法提供的信息,來(lái)幫助發(fā)現(xiàn)應(yīng)用的瓶頸

歸根結(jié)底,應(yīng)該測(cè)試那些對(duì)用戶(hù)來(lái)說(shuō)最重要的指標(biāo)。因此應(yīng)該盡可能地去收集一些需求,然后基于這些需求去設(shè)計(jì)基準(zhǔn)測(cè)試

基準(zhǔn)測(cè)試的方法

以下是測(cè)試的常見(jiàn)錯(cuò)誤

  • 使用真實(shí)數(shù)據(jù)的子集而不是全集
  • 使用錯(cuò)誤的數(shù)據(jù)分布
  • 使用不真實(shí)的分布參數(shù)
  • 在多用戶(hù)場(chǎng)景中,只做單用戶(hù)的測(cè)試
  • 在單服務(wù)器上測(cè)試分布式應(yīng)用
  • 與用戶(hù)真實(shí)行為不匹配
  • 反復(fù)的執(zhí)行同一個(gè)查詢(xún)
  • 沒(méi)有檢查錯(cuò)誤
  • 忽略了系統(tǒng)預(yù)熱的過(guò)程,不同狀態(tài)下測(cè)試的結(jié)果是不相同的
  • 使用默認(rèn)的服務(wù)器配置
  • 測(cè)試時(shí)間太短了,因?yàn)榛鶞?zhǔn)測(cè)試需要持續(xù)一定的時(shí)間

設(shè)計(jì)和規(guī)劃基準(zhǔn)測(cè)試

  1. 提出問(wèn)題并明確目標(biāo)
  2. 決定是采用標(biāo)準(zhǔn)的基準(zhǔn)測(cè)試,還是設(shè)計(jì)專(zhuān)用的測(cè)試

標(biāo)準(zhǔn)的基準(zhǔn)測(cè)試,應(yīng)該確認(rèn)選擇了合適的測(cè)試方案

設(shè)計(jì)專(zhuān)用的基準(zhǔn)測(cè)試是很復(fù)雜的,往往需要一個(gè)迭代的過(guò)程。首先需要獲得生產(chǎn)數(shù)據(jù)集的快照(很容易還原),然后,針對(duì)數(shù)據(jù)運(yùn)行查詢(xún)(選擇一個(gè)有代表性的時(shí)間段,如果時(shí)間段選擇比較小,則可以選擇多個(gè)時(shí)間段,這樣有助于覆蓋整個(gè)系統(tǒng)的活動(dòng)狀態(tài))

3.可以在不同級(jí)別記錄查詢(xún)

4.即使不需要?jiǎng)?chuàng)建專(zhuān)用的基準(zhǔn)測(cè)試,也要寫(xiě)下測(cè)試規(guī)劃(測(cè)試數(shù)據(jù),系統(tǒng)配置步驟,如何測(cè)量和分析結(jié)果,以及預(yù)熱的方案)

5.寫(xiě)一些腳本分析測(cè)試結(jié)果

基準(zhǔn)測(cè)試應(yīng)該運(yùn)行多長(zhǎng)時(shí)間

基準(zhǔn)測(cè)試應(yīng)該運(yùn)行足夠長(zhǎng)的時(shí)間,這一點(diǎn)非常重要,應(yīng)當(dāng)在穩(wěn)定狀態(tài)下測(cè)試并觀察

一個(gè)常見(jiàn)的錯(cuò)誤測(cè)試方式是,只執(zhí)行一系列短期的測(cè)試。這種不花費(fèi)足夠時(shí)間去完成準(zhǔn)確完成的基準(zhǔn)測(cè)試,那么已經(jīng)花費(fèi)的所有時(shí)間都是一種浪費(fèi),所以有時(shí)候要相信別人的測(cè)試結(jié)果,并使用

獲取系統(tǒng)性能和狀態(tài)

可以編寫(xiě)一個(gè)shell腳本來(lái)記錄測(cè)試結(jié)果,配置文件,測(cè)試指標(biāo),腳本和其他相關(guān)說(shuō)明都保存在其中

獲得準(zhǔn)確的測(cè)試結(jié)果

首先,獲得準(zhǔn)確測(cè)試結(jié)果的最好辦法,是回答一些關(guān)于基準(zhǔn)測(cè)試的基本問(wèn)題:

  • 是否選擇了正確的基準(zhǔn)測(cè)試
  • 是否為問(wèn)題收集了相關(guān)的數(shù)據(jù)
  • 是否采用了錯(cuò)誤的測(cè)試標(biāo)準(zhǔn)

然后,確認(rèn)測(cè)試結(jié)果是否可重復(fù),每次測(cè)試之前都要確保系統(tǒng)的狀態(tài)一致

如果測(cè)試過(guò)程會(huì)修改數(shù)據(jù)或者schema,那么每次測(cè)試前,需要利用快照還原數(shù)據(jù)

每次測(cè)試時(shí)修改的數(shù)據(jù)應(yīng)該盡可能地小,一般情況下都是通過(guò)迭代的方式

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/119610.html

相關(guān)文章

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<