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