您好,登錄后才能下訂單哦!
在做db基準測試的時候,qps,tps 是衡量數據庫性能的關鍵指標。本文比較了網上的兩種計算方式。先來了解一下相關概念。
概念介紹:
在對數據庫的性能監控上經常會提到QPS和TPS這兩個名詞,下面就分別簡單的分享一下關于MySQL數據庫中的QPS和TPS的意義和計算方法。
1 QPS: 每秒Query 量,這里的QPS 是指MySQL Server 每秒執行的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是指存儲每秒可接受多少次主機發出的訪問,主機的一次IO需要多次訪問存儲才可以完成。例如,主機寫入一個最小的數據塊,也要經過“發送寫入請求、寫入數據、收到寫入確認”等三個步驟,也就是3個存儲端訪問。
IOPS的測試benchmark工具主要有Iometer, IoZone, FIO等,可以綜合用于測試磁盤在不同情形下的IOPS。對于應用系統,需要首先確定數據的負載特征,然后選擇合理的IOPS指標進行測量和對比分析,據此選擇合適的存儲介質和軟件系統。
Questions 是記錄了從mysqld啟動以來所有的select,dml 次數包括show 命令的查詢的次數。這樣多少有失準確性,比如很多數據庫有監控系統在運行,每5秒對數據庫進行一次show 查詢來獲取當前數據庫的狀態,而這些查詢就被記錄到QPS,TPS統計中,造成一定的"數據污染".
如果數據庫中存在比較多的myisam表,則計算還是questions 比較合適。
如果數據庫中存在比較多的innodb表,則計算以com_*數據來源比較合適。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內容請查看下面相關鏈接
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。