请问MYSQL数据库QPS,TPS采用哪种计算方式?

发布于 2022-09-12 03:19:57 字数 537 浏览 30 评论 0

image.png

疑问1:
为什么按照上图两种公式QPS的两个计算结果差了2倍?
疑问2(已解决):
为什么按照上图两种公式TPS的两个计算结果差了几千倍?
TPS结果差异原因:因为Com_commit和Com_rollback只统计了显示提交的事务。通过show global variables like 'autocommit';可以发现这个数据库默认是隐式提交,所以结果不准确

QPS公式1需要的数据
Questions 500w

QPS公式2需要的数据
Com_select 250w
Com_insert+delede+update 3w
合计 253w

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

自我难过 2022-09-19 03:19:57

Questions 其实包括了 很多sql语句的执行,ddl, dml, show, set等。

比如 SHOW GLOBAL STATUS LIKE 'Questions';也会计算在内的。

可以参考官网文档:https://dev.mysql.com/doc/ref...

The number of statements executed by the server. This includes only statements sent to the server by clients and not statements executed within stored programs, unlike the [`Queries`](https://dev.mysql.com/doc/refman/8.0/en/server-status-variables.html#statvar_Queries) variable. This variable does not count `COM_PING`, `COM_STATISTICS`, `COM_STMT_PREPARE`, `COM_STMT_CLOSE`, or `COM_STMT_RESET` commands.

The discussion at the beginning of this section indicates how to relate this statement-counting status variable to other such variables.

QPS,如果不考虑存储过程的执行,可以采用 QPS=(Com_select + Com_insert + Com_delete + Com_update) / Uptime

不过,要相对准确表达QPS, 采用 QPS=Questions/Uptime 计算。

TPS的话,采用TPS=(Handler_commit + Handler_rollback)/Uptime 会更加准确。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文