最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

MySQL性能測(cè)試—前期知識(shí)儲(chǔ)備

來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-09 13:13:13
文檔

MySQL性能測(cè)試—前期知識(shí)儲(chǔ)備

MySQL性能測(cè)試—前期知識(shí)儲(chǔ)備:今天是婦女節(jié),先祝所有過(guò)節(jié)的女同胞們節(jié)日快樂(lè):) 即將對(duì)MySQL進(jìn)行性能測(cè)試。所以事先對(duì)MySQL的測(cè)試工作進(jìn)行一番了解。主要考察性能測(cè)試的工具,MySQL的關(guān)鍵指標(biāo),以及一些基礎(chǔ)的Benchmark數(shù)據(jù),為測(cè)試用例和場(chǎng)景的規(guī)劃做些準(zhǔn)備。 先說(shuō)說(shuō)考量的指標(biāo)(轉(zhuǎn)載
推薦度:
導(dǎo)讀MySQL性能測(cè)試—前期知識(shí)儲(chǔ)備:今天是婦女節(jié),先祝所有過(guò)節(jié)的女同胞們節(jié)日快樂(lè):) 即將對(duì)MySQL進(jìn)行性能測(cè)試。所以事先對(duì)MySQL的測(cè)試工作進(jìn)行一番了解。主要考察性能測(cè)試的工具,MySQL的關(guān)鍵指標(biāo),以及一些基礎(chǔ)的Benchmark數(shù)據(jù),為測(cè)試用例和場(chǎng)景的規(guī)劃做些準(zhǔn)備。 先說(shuō)說(shuō)考量的指標(biāo)(轉(zhuǎn)載

其中QPS和TPS自然是重點(diǎn)考察的性能指標(biāo)。其他指標(biāo)可以作為每次測(cè)試數(shù)據(jù)的參考數(shù)據(jù)列出。如果遇到瓶頸,可能還需要考量當(dāng)時(shí)系統(tǒng)的cpu,網(wǎng)絡(luò),磁盤的利用率情況。這個(gè)遇到具體問(wèn)題再具體分析。

工具方面,首選考察的自然是MySQL自帶的測(cè)試工具mysqlslap。

./mysqlslap -a --concurrency=50,100 --number-of-queries 1000 --iterations=5 --engine=myisam,innodb --debug-info -uroot -proot

一個(gè)簡(jiǎn)單的示例即可說(shuō)明工具的使用情況,

-a 自動(dòng)生成sql
--concurrency=50,100分別執(zhí)行50,100并發(fā),
--iterations=5 執(zhí)行5次,引擎分別選用myisam和innodb引擎測(cè)試。

--number-of-queries    Limit each client to this number of queries (this is not
                      exact).(一個(gè)客戶端執(zhí)行的測(cè)試SQL數(shù)量上限,通過(guò)--only-print觀察自動(dòng)生成的sql的執(zhí)行情況來(lái)看,該條數(shù)限制的是準(zhǔn)備數(shù)據(jù)以外的SQL語(yǔ)句的條數(shù))
--engine=myisam,innodb 分別用myisam和innodb引擎進(jìn)行測(cè)試。

當(dāng)然你也可以通過(guò)-q指定你想要測(cè)試的sql腳本,測(cè)試結(jié)束后,mysqlslap會(huì)給出你測(cè)試的相關(guān)數(shù)據(jù)。

關(guān)于mysqlslap的更多參數(shù)可參考:http://dev.mysql.com/doc/refman/5.1/en/mysqlslap.html
從目前來(lái)看上手還是比較容易的。通過(guò)執(zhí)行的query數(shù)量和時(shí)間,很容易計(jì)算出tps和qps等指標(biāo)。

SysBench

也是MySQL官網(wǎng)提到的一個(gè)benchmark工具。只是在64位系統(tǒng)下安裝困難,限于網(wǎng)絡(luò)環(huán)境和考慮到其功能和我們即將進(jìn)行的測(cè)試場(chǎng)景,暫時(shí)放棄。

性能測(cè)試基礎(chǔ)準(zhǔn)備其他話題

在思考和驗(yàn)證怎樣使用mysqlslap規(guī)劃測(cè)試場(chǎng)景的過(guò)程中,收獲到一些離散的細(xì)節(jié)問(wèn)題,也在此一并記錄一下。也許哪天,哪一條就會(huì)有所幫助。

打開(kāi)MySQL general_log 記錄執(zhí)行的sql情況

默認(rèn)情況下該屬性是關(guān)閉的,通過(guò)set global general_log=ON 打開(kāi)后,可在log文件中查看數(shù)據(jù)庫(kù)執(zhí)行的sql記錄。該需求是OneCoder想要考察JDBC的batch insert的提交方式,究竟是數(shù)據(jù)庫(kù)中是執(zhí)行的多條insert然后commit還是一個(gè)insert values大列表的時(shí)候產(chǎn)生的。

對(duì)比批量插入數(shù)據(jù) 多條insert和一條insert 大values列表(values(),(),())方式,性能差別

從目前通過(guò)mysqlslap執(zhí)行測(cè)試的效果來(lái)看,后者明顯優(yōu)于前者。前者1000條平均時(shí)間大約是0.2ms,而后者在0.1ms左右。該測(cè)試想法是在通過(guò)mysqldump到處已有數(shù)據(jù)的時(shí)候發(fā)現(xiàn)其sql文件的生成方式的時(shí)候以及聯(lián)想到oracle到mysql的數(shù)據(jù)遷移工具的處理方式的時(shí)候想到的。

寫入性能瓶頸的一個(gè)大誤解

曾經(jīng)極大的錯(cuò)誤的認(rèn)為單線程下mysql可處理的批量插入數(shù)據(jù)量就是該節(jié)點(diǎn)的瓶頸,所以只認(rèn)為多線程并發(fā)寫入優(yōu)化只在NDB的環(huán)境下才有效。今天在看MySQL的一些benchmark圖表曲線的時(shí)候,猛然驚醒,并發(fā)數(shù)和tps的曲線是類拋物線的就說(shuō)明在一定并發(fā)數(shù)的范圍內(nèi),TPS是有明顯提高的。于是用以前的JDBC的代碼,增加了幾個(gè)線程,對(duì)同一個(gè)mysql并發(fā)寫入,果然TPS成倍提升。

今天總結(jié)的大概就這么多,由于是事后回憶總結(jié),不免有所遺漏,想起來(lái)再補(bǔ)充把。熱烈歡迎指導(dǎo)。

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

MySQL性能測(cè)試—前期知識(shí)儲(chǔ)備

MySQL性能測(cè)試—前期知識(shí)儲(chǔ)備:今天是婦女節(jié),先祝所有過(guò)節(jié)的女同胞們節(jié)日快樂(lè):) 即將對(duì)MySQL進(jìn)行性能測(cè)試。所以事先對(duì)MySQL的測(cè)試工作進(jìn)行一番了解。主要考察性能測(cè)試的工具,MySQL的關(guān)鍵指標(biāo),以及一些基礎(chǔ)的Benchmark數(shù)據(jù),為測(cè)試用例和場(chǎng)景的規(guī)劃做些準(zhǔn)備。 先說(shuō)說(shuō)考量的指標(biāo)(轉(zhuǎn)載
推薦度:
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top