在做db基準(zhǔn)測(cè)試的時(shí)候,qps,tps 是衡量數(shù)據(jù)庫(kù)性能的關(guān)鍵指標(biāo)。本文比較了網(wǎng)上的兩種計(jì)算方式。先來(lái)了解一下相關(guān)概念。
概念介紹:
- QPS:Queries Per Second 查詢(xún)量/秒,是一臺(tái)服務(wù)器每秒能夠相應(yīng)的查詢(xún)次數(shù),是對(duì)一個(gè)特定的查詢(xún)服務(wù)器在規(guī)定時(shí)間內(nèi)所處理查詢(xún)量多少的衡量標(biāo)準(zhǔn)。
- TPS : Transactions Per Second 是事務(wù)數(shù)/秒,是一臺(tái)數(shù)據(jù)庫(kù)服務(wù)器在單位時(shí)間內(nèi)處理的事務(wù)的個(gè)數(shù)。
在對(duì)數(shù)據(jù)庫(kù)的性能監(jiān)控上經(jīng)常會(huì)提到QPS和TPS這兩個(gè)名詞,下面就分別簡(jiǎn)單的分享一下關(guān)于MySQL數(shù)據(jù)庫(kù)中的QPS和TPS的意義和計(jì)算方法。
1 QPS: 每秒Query 量,這里的QPS 是指MySQL Server 每秒執(zhí)行的Query總量,計(jì)算方法如下:
Questions = SHOW GLOBAL STATUS LIKE 'Questions';
Uptime = SHOW GLOBAL STATUS LIKE 'Uptime';
QPS=Questions/Uptime
2 TPS: 每秒事務(wù)量,通過(guò)以下方式來(lái)得到客戶(hù)端應(yīng)用程序所請(qǐng)求的 TPS 值,計(jì)算方法如下:
Com_commit = SHOW GLOBAL STATUS LIKE 'Com_commit';
Com_rollback = SHOW GLOBAL STATUS LIKE 'Com_rollback';
Uptime = SHOW GLOBAL STATUS LIKE 'Uptime';
TPS=(Com_commit + Com_rollback)/Uptime
IOPS:(Input/Output Operations Per Second),即每秒進(jìn)行讀寫(xiě)(I/O)操作的次數(shù),多用于數(shù)據(jù)庫(kù)等場(chǎng)合,衡量隨機(jī)訪問(wèn)的性能。
存儲(chǔ)端的IOPS性能和主機(jī)端的IO是不同的,IOPS是指存儲(chǔ)每秒可接受多少次主機(jī)發(fā)出的訪問(wèn),主機(jī)的一次IO需要多次訪問(wèn)存儲(chǔ)才可以完成。例如,主機(jī)寫(xiě)入一個(gè)最小的數(shù)據(jù)塊,也要經(jīng)過(guò)“發(fā)送寫(xiě)入請(qǐng)求、寫(xiě)入數(shù)據(jù)、收到寫(xiě)入確認(rèn)”等三個(gè)步驟,也就是3個(gè)存儲(chǔ)端訪問(wèn)。
IOPS的測(cè)試benchmark工具主要有Iometer, IoZone, FIO等,可以綜合用于測(cè)試磁盤(pán)在不同情形下的IOPS。對(duì)于應(yīng)用系統(tǒng),需要首先確定數(shù)據(jù)的負(fù)載特征,然后選擇合理的IOPS指標(biāo)進(jìn)行測(cè)量和對(duì)比分析,據(jù)此選擇合適的存儲(chǔ)介質(zhì)和軟件系統(tǒng)。
Questions 是記錄了從mysqld啟動(dòng)以來(lái)所有的select,dml 次數(shù)包括show 命令的查詢(xún)的次數(shù)。這樣多少有失準(zhǔn)確性,比如很多數(shù)據(jù)庫(kù)有監(jiān)控系統(tǒng)在運(yùn)行,每5秒對(duì)數(shù)據(jù)庫(kù)進(jìn)行一次show 查詢(xún)來(lái)獲取當(dāng)前數(shù)據(jù)庫(kù)的狀態(tài),而這些查詢(xún)就被記錄到QPS,TPS統(tǒng)計(jì)中,造成一定的"數(shù)據(jù)污染".
如果數(shù)據(jù)庫(kù)中存在比較多的myisam表,則計(jì)算還是questions 比較合適。
如果數(shù)據(jù)庫(kù)中存在比較多的innodb表,則計(jì)算以com_*數(shù)據(jù)來(lái)源比較合適。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
您可能感興趣的文章:- 數(shù)據(jù)庫(kù)性能測(cè)試之sysbench工具的安裝與用法詳解
- JAVA下單接口優(yōu)化實(shí)戰(zhàn)TPS性能提高10倍
- sysbench對(duì)mysql壓力測(cè)試的詳細(xì)教程
- 性能測(cè)試QPS+TPS+事務(wù)基礎(chǔ)知識(shí)分析