我使用hibernate,我的数据库可能有很大的不同,mysql,mssql,oracle。我需要监视数据库负载和/或性能,以实时获取数据库的状态。数据库的可用性很容易检查,但是如果您想知道当前是如何加载数据库的,我怀疑它是否真的有用。有办法吗?可能有一些有用的替代品吗?
dgtucam11#
您提到的所有数据库都通过sql接口提供某种统计信息和性能计数器。然而,在引擎盖下,它们完全不同,使用不同的专有概念。每个数据库都提供不同的性能计数器以及不同的读取方式。如果不知道这些数字的内部结构,你会觉得它们毫无意义。要理解它们,您必须了解特定数据库是如何工作的,这可能意味着需要对每个数据库分别进行多年的研究。这被称为“dba生涯”。这些数据库中没有一个有“如何加载”的概念,您将不得不基于您认为与您的案例相关的数十个(可能数百个)计数器得出这个结论。尽管如此,不管您如何尝试,也不管您使用哪个计数器来计算“loadness”,mssql的值10永远不会与oracle的值10相同。更糟糕的是,数据库内部(以及性能计数器)在版本之间发生了巨大的变化。一句话:没有共同点,也永远不会有共同点。比较它们就像比较苹果和桔子。也就是说,它们中的每一个都有自己的监控和优化工具。
1条答案
按热度按时间dgtucam11#
您提到的所有数据库都通过sql接口提供某种统计信息和性能计数器。然而,在引擎盖下,它们完全不同,使用不同的专有概念。每个数据库都提供不同的性能计数器以及不同的读取方式。如果不知道这些数字的内部结构,你会觉得它们毫无意义。要理解它们,您必须了解特定数据库是如何工作的,这可能意味着需要对每个数据库分别进行多年的研究。这被称为“dba生涯”。这些数据库中没有一个有“如何加载”的概念,您将不得不基于您认为与您的案例相关的数十个(可能数百个)计数器得出这个结论。尽管如此,不管您如何尝试,也不管您使用哪个计数器来计算“loadness”,mssql的值10永远不会与oracle的值10相同。更糟糕的是,数据库内部(以及性能计数器)在版本之间发生了巨大的变化。
一句话:没有共同点,也永远不会有共同点。比较它们就像比较苹果和桔子。
也就是说,它们中的每一个都有自己的监控和优化工具。