繁体   English   中英

在Windows XP上对Oracle 10G进行基准测试

[英]Benchmarking Oracle 10G on Windows XP

我不是DBA。 但是,我使用完全位于Oracle数据库中的Web应用程序(是的,它使用PL / SQL过程将HTML写入clobs,然后在浏览器中呕吐clob。不,这不是我的想法。是的,我等你哭的时候等。)

我们遇到了一些性能问题,我被分配了一些瓶颈并将其删除。 如何衡量Oracle性能并发现这些瓶颈? 我们无益的系统管理员说网格控制没有帮助,他不得不依赖“他的经验”和查询数据字典和“v $”视图。

我想对我的本地Oracle实例运行一些测试,看看我是否可以复制他发现的问题,这样我就可以确保我的更改实际上是在改进。 有人可以指点我学习如何做到这一点吗?

不太令人惊讶的是,有关于这个主题的整本书籍。

真正需要做的就是分而治之。

首先要问自己一些标准的常识性问题。 性能是否会慢慢降低,或者最近性能大幅下降就是一个例子。

明显的一个好的起点后,你将缩小在哪里花时间 - 顶级查询对你来说是一个不错的开始。 这将为您提供长时间运行的特定查询。

如果你明确知道前端的哪些屏幕速度很慢而且你知道存储过程是什么,我会进行一些记录。 简单的DBMS_OUTPUT.put_lines,在关键点有一些挂钟信息。 然后我将在SQLNavigator中以交互方式运行它们,以查看存储过程的哪个部分变慢。

一旦开始缩小范围,您可以查看评估特定查询进展缓慢的原因。 EXPLAIN_PLAN将是您最好的朋友。

使用网格控件分析数据库性能可能会让人难以理解,我建议从简化的AWR报告开始 - 您可以在db主机上的$ ORACLE_HOME / rdbms / admin中找到生成它们的脚本。 此报告将按各种类别(例如CPU时间,磁盘I / O,已用时间)对数据库中显示的SQL进行排名,并让您了解数据库端瓶颈的位置。

AWR报告的一个优点是它是一个SQL * Plus脚本,可以从任何客户端运行 - 它会将HTML或文本文件假脱机到您的客户端。

编辑:

我认为有一个名为DBMS_PROFILER的软件包让你可以做你想做的事。 我发现我的IDE会分析PL / SQL代码,因为我猜许多其他IDE会这样做。 他们可能会使用这个包。

http://www.dba-oracle.com/t_dbms_profiler.htm

http://www.databasejournal.com/features/oracle/article.php/2197231/Oracles-DBMSPROFILER-PLSQL-Performance-Tuning.htm


编辑2:

我刚刚在PL / SQL Developer中尝试过Profiler。 它会在运行时创建一个关于代码片段总时间和出现次数的报告,并将代码位置作为单元名称和行号。


原版的:

就疯狂的PL / SQL生成的页面而言,我和你在同一条船上。

我在一个小型办公室工作,没有程序员特别精通Oracle的高级功能。 我们没有任何既定的衡量和改善绩效的方法。 但我猜的最好的选择是尝试不同的PL / SQL IDE。

我使用Allaround Automations的PL / SQL Developer。 它有一个测试功能,可以让你调试你的PL / SQL代码,并且可能有一些我尚未使用的基准测试功能。

希望你找到更好的答案。 我也想知道。 :)

“我在一个完全位于Oracle数据库中的Web应用程序上工作(是的,它使用PL / SQL过程将HTML写入clobs,然后在浏览器中呕吐clob”

它是Apex的产品吗? 这是Web应用程序环境现在作为Oracle数据库的标准部分包含在内(虽然从技术上讲它不会吐出CLOB)。

如果是这样,产品/环境中已经内置了大量仪器(例如,它保持了为期两周的活动历史)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM