我刚刚开始使用mysql,想知道如何在某些时间段之间捕获mysql慢速运行查询,如下午2点到下午4点之间。为某些表提供了一些时间戳列,我非常有信心可以实现这一目标。但是,假设我们的表中没有几个表没有任何时间戳列,在这种情况下我们如何在sys或性能模式中应用过滤器来捕获特定时间段内所有表中的慢速运行查询,如2 - 下午4点。通过这种方式,只需将数据库性能集中在特定时间段,我们运行一些负载测试,而不是查看mysql中所有数据的历史记录
这个问题非常类似于在特定测试期间捕获oracle中的AWR报告。希望它清楚
答案 0 :(得分:1)
这似乎是解决问题的相反方式。如果要监视性能,则需要采用与尝试直接加载测试或捕获sql语句不同的方法。自20世纪90年代以来,监控已经发生了很大变化,当时AWR报告是监控数据库性能的正确方法。今天我们可以实时监控生产,显然可以在test / dev中监控生产。您将看到无法重新创建的问题,因此花费大量时间尝试重新创建环境和负载比10-20年前我们拥有更一致的工作负载更加徒劳无益。特别是这种情况,因为API使我们的数据以非常不一致的方式显示给其他新应用程序: