Mysql數(shù)據(jù)庫的QPS和TPS的意義和計(jì)算方法
在做db基準(zhǔn)測(cè)試的時(shí)候,qps,tps 是衡量數(shù)據(jù)庫性能的關(guān)鍵指標(biāo)。本文比較了網(wǎng)上的兩種計(jì)算方式。先來了解一下相關(guān)概念。
概念介紹:
- QPS:Queries Per Second 查詢量/秒,是一臺(tái)服務(wù)器每秒能夠相應(yīng)的查詢次數(shù),是對(duì)一個(gè)特定的查詢服務(wù)器在規(guī)定時(shí)間內(nèi)所處理查詢量多少的衡量標(biāo)準(zhǔn)。
- TPS : Transactions Per Second 是事務(wù)數(shù)/秒,是一臺(tái)數(shù)據(jù)庫服務(wù)器在單位時(shí)間內(nèi)處理的事務(wù)的個(gè)數(shù)。
在對(duì)數(shù)據(jù)庫的性能監(jiān)控上經(jīng)常會(huì)提到QPS和TPS這兩個(gè)名詞,下面就分別簡(jiǎn)單的分享一下關(guān)于MySQL數(shù)據(jù)庫中的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ù)量,通過以下方式來得到客戶端應(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)行讀寫(I/O)操作的次數(shù),多用于數(shù)據(jù)庫等場(chǎng)合,衡量隨機(jī)訪問的性能。
存儲(chǔ)端的IOPS性能和主機(jī)端的IO是不同的,IOPS是指存儲(chǔ)每秒可接受多少次主機(jī)發(fā)出的訪問,主機(jī)的一次IO需要多次訪問存儲(chǔ)才可以完成。例如,主機(jī)寫入一個(gè)最小的數(shù)據(jù)塊,也要經(jīng)過“發(fā)送寫入請(qǐng)求、寫入數(shù)據(jù)、收到寫入確認(rèn)”等三個(gè)步驟,也就是3個(gè)存儲(chǔ)端訪問。
IOPS的測(cè)試benchmark工具主要有Iometer, IoZone, FIO等,可以綜合用于測(cè)試磁盤在不同情形下的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)以來所有的select,dml 次數(shù)包括show 命令的查詢的次數(shù)。這樣多少有失準(zhǔn)確性,比如很多數(shù)據(jù)庫有監(jiān)控系統(tǒng)在運(yùn)行,每5秒對(duì)數(shù)據(jù)庫進(jìn)行一次show 查詢來獲取當(dāng)前數(shù)據(jù)庫的狀態(tài),而這些查詢就被記錄到QPS,TPS統(tǒng)計(jì)中,造成一定的"數(shù)據(jù)污染".
如果數(shù)據(jù)庫中存在比較多的myisam表,則計(jì)算還是questions 比較合適。
如果數(shù)據(jù)庫中存在比較多的innodb表,則計(jì)算以com_*數(shù)據(jù)來源比較合適。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
如何把ACCESS的數(shù)據(jù)導(dǎo)入到Mysql中
如何把ACCESS的數(shù)據(jù)導(dǎo)入到Mysql中...2006-12-12Ubuntu與windows雙系統(tǒng)下共用MySQL數(shù)據(jù)庫的方法
ubuntu系統(tǒng)和windows系統(tǒng)雙系統(tǒng)共用是用戶喜歡使用的方式之一,而MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在Windows平臺(tái)中常以WAMP方式搭配使用,在Linux平臺(tái)中常以LAMP組合形式出現(xiàn),下面的方法可以使得Ubuntu平臺(tái)共用Windows平臺(tái)中的MySQL數(shù)據(jù)庫2012-01-01淺析CentOS6.8安裝MySQL8.0.18的教程(RPM方式)
這篇文章主要介紹了CentOS6.8安裝MySQL8.0.18(RPM方式)的詳細(xì)教程,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11Navicat連接MySQL提示1045錯(cuò)誤解決(重置MySQL密碼)
連接MySQL數(shù)據(jù)庫時(shí)難免會(huì)遇到1045錯(cuò)誤,主要是因?yàn)橛脩糨斎氲挠脩裘蛎艽a錯(cuò)誤被拒絕訪問,如果不想重裝,需要找回密碼或者重置密碼,這篇文章主要給大家介紹了關(guān)于Navicat連接MySQL提示1045錯(cuò)誤解決的方法,主要是重置MySQL密碼,需要的朋友可以參考下2023-04-04MySQL 百萬級(jí)數(shù)據(jù)的4種查詢優(yōu)化方式
本文講解了MySQL 百萬級(jí)數(shù)據(jù)的4種查詢優(yōu)化方式,大家可以根據(jù)自身需求,選擇適合自己的優(yōu)化方式2021-06-06CentOS 7.2下MySQL的安裝與相關(guān)配置
最近因?yàn)楣ぷ餍枰贑entOS上安裝MySQL,在安裝的時(shí)候遇到了一點(diǎn)問題,花了點(diǎn)時(shí)間解決了,感覺不管是官網(wǎng)還是網(wǎng)上的一些教程都不夠完整,不能一次性幫新手解決問題,于是我就結(jié)合官網(wǎng)和網(wǎng)上的資源整理了下,現(xiàn)在分享給大家,希望對(duì)有需要的朋友們能有所幫助。2016-11-11