【问题标题】:Benchmarking Oracle 10G on Windows XP在 Windows XP 上对 Oracle 10G 进行基准测试
【发布时间】:2010-12-19 12:21:43
【问题描述】:

我不是 DBA。但是,我在一个完全存在于 Oracle 数据库中的 Web 应用程序上工作(是的,它使用 PL/SQL 过程将 HTML 写入 clob,然后在浏览器中吐出 clob。不,这不是我的想法。是的,我等你哭吧。)。

我们遇到了一些性能问题,我被分配去寻找一些瓶颈并消除它们。如何测量 Oracle 性能并找到这些瓶颈?我们无用的系统管理员说网格控制没有帮助,他必须依靠“他的经验”和对数据字典和“v$”视图的查询。

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

【问题讨论】:

  • 您的问题促使我在我正在使用的 IDE 上查找分析器。谢谢!
  • 您是否只是从一张白纸开始试图找出瓶颈所在?或者你有没有缩小范围?
  • 基本上是空白 - 我的起点是基于同事对系统管理员数据的分析,我不完全相信它们是准确的。

标签: oracle oracle10g benchmarking


【解决方案1】:

编辑:

我认为有一个名为 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 代码,并且可能有一些我还没有使用过的基准测试功能。

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

【讨论】:

  • 我正在使用 SQL Navigator 4,它似乎具有类似的功能。现在我想弄清楚如何使用它。感谢您的建议。
  • 我的 IDE 提示我知道它必须创建一个表来保存分析器数据。我猜你是在本地实例上让自己成为 DBA,但如果你遇到问题,我会检查设置和运行 DBMS_PROFILER 所需的权限。 oracleprofessional.blogspot.com/2004/09/…
【解决方案2】:

使用网格控制分析数据库性能可能会让人不知所措,我建议从更简单的 AWR 报告开始 - 您可以在 db 主机上的 $ORACLE_HOME/rdbms/admin 中找到生成它们的脚本。此报告将按各种类别(例如 CPU 时间、磁盘 i/o、已用时间)对数据库中看到的 SQL 进行排名,并让您了解数据库方面的瓶颈所在。

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

【讨论】:

  • 我试过 AWR,结果还不如古希腊文。我想我必须做一些研究来解释它吐出的东西。谢谢。
【解决方案3】:

关于这个主题的整本书都写了,这并不奇怪。

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

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

显然,一个好的起点是缩小您的时间花在哪里 - top queries 对您来说是一个不错的起点。这将为您提供长时间运行的特定查询。

如果您具体知道前端的哪些屏幕速度较慢,并且您知道与之相关的存储过程,我会记录一些日志。简单的 DBMS_OUTPUT.put_lines 在关键点带有一些挂钟信息。然后我会在 SQLNavigator 中以交互方式运行它们,以查看存储过程的哪一部分运行缓慢。

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

【讨论】:

  • 我在这个方向上取得了一些进展。我怀疑它最终会让我到达我需要的地方。我会让大家知道的。
【解决方案4】:

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

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

如果是这样,则产品/环境中已经内置了一大堆工具(例如,它保持滚动的两周活动历史记录)。

【讨论】:

  • 不,我的理解是我的前辈们自己滚的。
猜你喜欢
  • 2012-02-02
  • 1970-01-01
  • 2011-04-06
  • 1970-01-01
  • 1970-01-01
  • 2017-12-30
  • 1970-01-01
  • 2023-03-13
  • 1970-01-01
相关资源
最近更新 更多