MySQL基準(zhǔn)測試

一住练、定義:

基準(zhǔn)測試是一種測量和評(píng)估軟件性能指標(biāo)的活動(dòng)绊诲,用于建立某個(gè)時(shí)刻的性能基準(zhǔn)限嫌,以便當(dāng)系統(tǒng)發(fā)生軟硬件變化時(shí)重新進(jìn)行基準(zhǔn)測試靴庆,以評(píng)估變化對性能的影響。

二怒医、比較

基準(zhǔn)測試:直接炉抒、簡單、易于比較稚叹,用于評(píng)估服務(wù)器的處理能力
可以不關(guān)心業(yè)務(wù)邏輯焰薄,所使用的查詢和業(yè)務(wù)的真實(shí)性和環(huán)境沒關(guān)系
壓力測試:對真實(shí)業(yè)務(wù)數(shù)據(jù)進(jìn)行測試,獲取系統(tǒng)所能承受的真實(shí)壓力
需要針對不同主題扒袖,所使用的的數(shù)據(jù)和查詢也是真實(shí)用到的

三塞茅、目的:

建立MySQL服務(wù)器的性能基準(zhǔn)線
確定當(dāng)前MySQL服務(wù)器運(yùn)行情況
模擬比當(dāng)前系統(tǒng)更高的負(fù)載,以找出系統(tǒng)的擴(kuò)展瓶頸
增加數(shù)據(jù)庫并發(fā)季率,觀察QPS野瘦,TPS變化,確定并發(fā)量與性能最優(yōu)化的關(guān)系
測試不同的硬件、軟件和操作系統(tǒng)配置
證明新的硬件設(shè)備是否配置正確

四鞭光、如何進(jìn)行基準(zhǔn)測試

1吏廉、對整個(gè)系統(tǒng)進(jìn)行基準(zhǔn)測試
優(yōu)點(diǎn):能夠測試整個(gè)系統(tǒng)的性能,包括web服務(wù)器緩存惰许、數(shù)據(jù)庫等
能反應(yīng)出系統(tǒng)中各個(gè)組件接口間的性能問題體現(xiàn)真實(shí)性能狀況
缺點(diǎn):測試設(shè)計(jì)復(fù)雜席覆,消耗時(shí)間長
2、單獨(dú)對MySQL進(jìn)行基準(zhǔn)測試
優(yōu)點(diǎn):測試設(shè)計(jì)簡單啡省,所需耗費(fèi)時(shí)間短
缺點(diǎn):無法全面了解整個(gè)系統(tǒng)的性能基線
五娜睛、MySQL基準(zhǔn)測試常見指標(biāo)
1、TPS:單位時(shí)間內(nèi)所處理的事務(wù)數(shù)
2卦睹、QPS:單位時(shí)間內(nèi)所處理的查詢數(shù)
3畦戒、響應(yīng)時(shí)間
平均響應(yīng)時(shí)間、最小響應(yīng)時(shí)間结序、最大響應(yīng)時(shí)間障斋、個(gè)時(shí)間所占百分比
4、并發(fā)量:同時(shí)處理的查詢請求的數(shù)量(不等于鏈接數(shù)量)
正在工作中的并發(fā)的操作或同時(shí)工作的數(shù)量

六徐鹤、基準(zhǔn)測試的步驟

1垃环、計(jì)劃和設(shè)計(jì)基準(zhǔn)測試(目標(biāo)、數(shù)據(jù)返敬、時(shí)間遂庄、次數(shù))
對整個(gè)系統(tǒng)還是某一組件
使用什么樣的數(shù)據(jù)
準(zhǔn)備基準(zhǔn)測試及數(shù)據(jù)收集腳本
CPU使用率、IO劲赠、網(wǎng)絡(luò)流量涛目、狀態(tài)與計(jì)數(shù)器信息等
2、運(yùn)行基準(zhǔn)測試

七凛澎、基準(zhǔn)測試中容易忽略的問題

1霹肝、使用生產(chǎn)環(huán)境數(shù)據(jù)時(shí)只是用了部分?jǐn)?shù)據(jù)(推薦使用真實(shí)數(shù)據(jù)庫完全備份來測試)
2、在多用戶的場景中塑煎,只做單用戶的測試(推薦使用多線程的并發(fā)測試)
3沫换、在單服務(wù)器上測試分布式應(yīng)用
4、反復(fù)執(zhí)行同一查詢(容易緩存命中最铁,無法反應(yīng)真實(shí)查詢性能)

八讯赏、MySQL基準(zhǔn)測試工具與軟件

1、mysqlslap(MySQL自帶)
特點(diǎn):可以模擬服務(wù)器負(fù)載冷尉,并輸出相關(guān)統(tǒng)計(jì)信息
可以指定也可以自動(dòng)生成查詢語句
常用參數(shù)說明
--auto-generate-sql //由系統(tǒng)自動(dòng)生成SQL腳本進(jìn)行測試
--auto-generate-sql-add-autoincrement //在生成的表中增加自增ID(innodb推薦)
--auto-generate-sql-load-type //指定測試中使用的查詢類型
--auto-generate-sql-write-number //指定初始化數(shù)據(jù)時(shí)生成的數(shù)據(jù)量
--concurrency //指定并發(fā)線程的數(shù)量
--engine //指定要測試表的存儲(chǔ)引擎待逞,可以用逗號(hào)分割多個(gè)存儲(chǔ)引擎
--no-drop //指定不清理測試數(shù)據(jù)
--iterations //指定測試運(yùn)行的次數(shù)(于--no-drop沖突,不能同時(shí)指定)
--number-of-queries //指定每個(gè)線程執(zhí)行的查詢數(shù)量
--debug-info //指定輸出額外的內(nèi)存及CPU統(tǒng)計(jì)信息
--number-int-cols //指定測試表中包含的INT類型列的數(shù)量
--number-char-cols //指定測試表中包含的varchar類型的數(shù)量
--create-schema //指定用于執(zhí)行測試的數(shù)據(jù)庫的名字
--query //用于指定自定義的SQL的腳本
--only-print //不運(yùn)行測試腳本网严,只把生成的腳本打印出來
2、sysbench
下載地址:https://github.com/akopytov/sysbench/archive/0.5.zip
安裝:
unzip sysbench-0.5.zip
cd sysbench
./autogen.sh
./configure --with-mysql-includes=/usr/local/mysql/include/ \ --with-mysql- lib=/usr/local/mysql/lib/
make && make install
常用參數(shù):
--test //用于指定所要執(zhí)行的測試類型嗤无,支持一下參數(shù)
Fileio //文件系統(tǒng)I/O性能測試
cpu //cpu性能測試
memory //內(nèi)存性能測試
Oltp //測試要指定具體的lua腳本Lua腳本位于sysbench-0.5/sysbench/tests/db
--mysql-db //用于指定執(zhí)行基準(zhǔn)測試的數(shù)據(jù)庫名
--mysql-table-engine //用于指定所使用的存儲(chǔ)引擎
--oltp-tables-count //執(zhí)行測試的表的數(shù)量
--oltp-table-size //指定每個(gè)表中數(shù)據(jù)的行數(shù)
--num-threads //指定測試的并發(fā)線程數(shù)量
--max-time //指定最大的測試時(shí)間
--report-interval //指定間隔多長時(shí)間輸出一次統(tǒng)計(jì)信息
--mysql-user //指定執(zhí)行測試的mysql用戶
--mysql-password //指定執(zhí)行測試的mysql用戶密碼
prepare //用于準(zhǔn)備測試數(shù)據(jù)
run //用于實(shí)際進(jìn)行測試
cleanup //用于清理測試數(shù)據(jù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末震束,一起剝皮案震驚了整個(gè)濱河市怜庸,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌垢村,老刑警劉巖割疾,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異嘉栓,居然都是意外死亡宏榕,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門侵佃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來麻昼,“玉大人,你說我怎么就攤上這事馋辈「” “怎么了?”我有些...
    開封第一講書人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵迈螟,是天一觀的道長叉抡。 經(jīng)常有香客問我,道長答毫,這世上最難降的妖魔是什么褥民? 我笑而不...
    開封第一講書人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮洗搂,結(jié)果婚禮上消返,老公的妹妹穿的比我還像新娘。我一直安慰自己蚕脏,他們只是感情好侦副,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著驼鞭,像睡著了一般秦驯。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上挣棕,一...
    開封第一講書人閱讀 51,488評(píng)論 1 302
  • 那天译隘,我揣著相機(jī)與錄音,去河邊找鬼洛心。 笑死固耘,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的词身。 我是一名探鬼主播厅目,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了损敷?” 一聲冷哼從身側(cè)響起葫笼,我...
    開封第一講書人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎拗馒,沒想到半個(gè)月后路星,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡诱桂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年洋丐,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片挥等。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡友绝,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出触菜,到底是詐尸還是另有隱情九榔,我是刑警寧澤,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布涡相,位于F島的核電站哲泊,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏催蝗。R本人自食惡果不足惜切威,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望丙号。 院中可真熱鬧先朦,春花似錦、人聲如沸犬缨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽怀薛。三九已至刺彩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間枝恋,已是汗流浹背创倔。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留焚碌,地道東北人畦攘。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像十电,于是被迫代替她去往敵國和親知押。 傳聞我的和親對象是個(gè)殘疾皇子叹螟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容