首页 > 解决方案 > 获取每个 MySQL 查询的成本

问题描述

我们有一个由 MySQL 支持的 Web 应用程序,每秒可处理数百个查询。我正在寻找一种方法来衡量生产中每个查询的“成本”。我在想象一些选项,对于每个查询,MySQL 返回查询结果以及执行该查询的 CPU 和 I/O 成本。

最终目标是按端点(例如“/search”)和登录的用户 ID 汇总这些成本。这样,当我们遇到站点问题时,我们可以快速查看是否有特定的操作或用户 ID 占用了大量 MySQL 资源。

接近但不完全(AFAICT):

这个答案很接近:https ://stackoverflow.com/a/12880997/163832

它描述了精度和准确性问题,EXPLAIN并推荐了一种替代方案,该替代方案衡量实际发生的事情,而不是估计发生的事情。

对于我的用例,替代方案似乎更好,但仍然存在问题:

标签: mysql

解决方案


推荐阅读