我正在对数据库表进行压力测试
我正在寻找可以连接到我的数据库的任何软件,并向我展示一些指标,例如表中没有行,插入时间,插入/时间,表碎片[逻辑/物理]等。
如果报告工具可以执行以下操作,那就太棒了:
1]在一段时间后实时或至少报告,这样我就不必等待测试完成才能首先查看数据
2]能够在以后处理数据,比如获得99.99百分位数,平均等等。
大部分免费提供:)
有没有人对我可以在我的Oracle表中使用的东西有任何建议。任何指针都会很棒。
我实际上可以编写脚本来记录诸如select count(*)等之类的内容。但是我将不得不花费大量时间来解析和更改数据报告而不是测试。 我觉得有些聪明的东西可能已经存在了吗?
由于
编辑:
答案 0 :(得分:0)
首先,Oracle具有内置功能,可以告诉您表中的行数(使用count(*)或搜索'gather statistics oracle'作为另一个选项)。
但是“压力测试一张桌子”听起来像是你走错了路。您提到的大多数指标(“插入时间,插入/时间,表碎片[逻辑/物理]等”)在很大程度上取决于许多因素:
但它们中的任何一个都与桌子设计本身无关。
现在,如果您想知道您的规范化(或非规范化)表模式是否会损害您的应用程序,那么这是另一回事。由于不正确/不需要/缺少的索引,触发器或许多其他问题导致性能下降。
但如果你真的想要一个可以为你提供实时监控的应用,请查看Quest Software的Spotlight on Oracle。但它绝对不是免费的。
答案 1 :(得分:0)
只是为了添加其他评论,我相信你真正想要的是对你正在运行的查询进行压力测试而不是表格。该表只是磁盘上的一堆数据块,并且就开发而言,查询将在性能上产生差异。这将告诉您是否需要不同的索引或需要重新设计查询。
另一方面,如果您将其视为DBA或系统管理员,您可能对操作系统级别统计信息,尤其是磁盘延迟,内存分页和CPU利用率更感兴趣。
所有这些都可以在企业管理器中找到,这是我开发和DBA的主要调整工具。如果您没有,请阅读使用sql_trace来描述您的查询以及您的操作系统特定文档,了解如何获取这些统计信息。