TPS計算方法,實用

​​​​在這裏插入圖片描述

前段時間,項目這邊需要評估下幾個主要功能點的性能指標,問題其實並不難,但是發現一個很有意思的問題,一些同事居然不太理解TPS到底是個什麼概念,往往和QPS分不清……

在這裏給大家重申一下,

QPS = Query Per Second / Request Per Second

每秒查詢次數 / 每秒請求次數 ,一般用於系統中“讀請求/讀操作”的性能評估指標。

這裏不提事務,因爲只讀查詢一般我們不加事務或者只使用數據庫的只讀事務。
舉例說明,我們瀏覽電商平臺的產品詳情頁的時候,就是一次“讀請求/讀操作”。

TPS = Transaction Per Second

每秒交易次數 / 每秒事務處理次數 ,一般用於系統中“寫請求/寫操作”的性能評估指標。

舉例說明,我們在電商平臺下訂單,系統成功處理後,就是一次“寫請求/寫操作”。

關於如何做性能指標的監控,市場上有一些免費開源的工具可用。

我這邊建議大家能手動測就手動測,因爲壓測工具也存在機器性能上的損耗造成的誤差。

測試方法就是通過手動來抓取以下的數據庫指標,來計算單位時間內的系統調用數據庫的執行次數。

基於MySQL數據庫,發幾個實用的指標供大家參考,有條件者請牢記:

com_commit = show global status like 'com_commit';
com_rollback = show global status like 'com_rollback';
com_select = show global status like 'com_select';
com_insert = show global status like 'com_insert';
com_delete = show global status like 'com_delete';
com_update = show global status like 'com_update';
uptime = show global status like 'uptime';

TPS=(com_commit + com_rollback + com_select + com_insert + com_delete + com_update)/uptime

一般,我們會根據業務需要,對不同功能點進行壓測,一般來說,讀請求看QPS,寫請求看TPS

在我看來,準確的評估一個系統吞吐量,一般以TPS指標爲準,但是,如果問一個系統支持多少併發,那麼我們也可以用QPS指標來表達。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章