SELECT
table_schema AS the_db,
table_name AS the_table,
round(((data_length + index_length) / 1024 / 1024), 2) `size_in_mb`
FROM information_schema.TABLES
ORDER BY (data_length + index_length) DESC;
您可能还想包含 information_schema(和 mysql 模式),因为您看到的部分/大部分/所有这些活动可能正在那里发生。
对于数据可视化的大学课程,我使用Prometheus/Grafana堆栈(伟大的软件/软件)来呈现各种数据库指标的图像,同时运行各种HammerDB基准测试(也是一个优秀的工具)。
作为其中的一部分,为了提供基线,我查看了我的(单台)服务器“处于静止状态”,并注意到(如您所见)有活动 - 尽管数量非常少(约 10 次写入/秒) - 在“非活动”服务器。
基本上,这是即使没有正在进行的外部 DDL 或 DML 也会发生的“内务管理”功能。
这里和这里有一篇有趣的文章(更新的可能更准确)显示空闲连接数对来自DBT2 基准工具的 NOTPM(每分钟事务数)结果的影响。
从第二篇文章中显示的结果可以看出,只有空闲连接会产生很小的(但并非不存在)影响。
您说您正在运行一个集群 - 我想即使在没有任何严重工作负载(甚至根本没有任何工作负载)的情况下,节点之间也会存在通信开销。
你没有提到什么集群(NDB?Galera?),但我确信深入研究代码(远高于我的工资等级...... :-)),搜索或关于集群架构的问题/ guru list 将能够提供更多详细信息。
如果您有兴趣并且有时间和倾向来测试正在发生的事情,您可能希望让您的“非活动”集群运行一段时间(比如在一个周末?)并在之前运行(一些变体)这个查询和开始测试后(改编自此处):
您可能还想包含 information_schema(和 mysql 模式),因为您看到的部分/大部分/所有这些活动可能正在那里发生。
这可能取决于集群的架构。将这些查询的结果插入到它们自己的表中应该会使您可能希望进行的任何比较变得相对微不足道。
另外,请记住,可能没有太多可看的内容,因为这些写入可能只是单个或几条记录的更新?
ps欢迎来到论坛和+1一个有趣的问题!