Fem*_*ale 3 unix linux database-design spring-mvc oracle11g
我正在使用oracle 11g,我有一个在Spring框架中编码的应用程序.一旦我在安装了Linux的Sun fire 4170上配置数据库,机器的CPU利用率大约为80-100%,然而,当我将相同的数据库转移到安装了Unix OS(可能是更强大的机器)的Sun M3000服务器时,应用程序性能变得更好down和CPU利用率保持在90-100%.我无法弄清楚它的应用程序是否正在进行此类利用或其数据库设计.补充说,数据库不是关系型的; 事情由应用程序处理.
小智 8
那么你当然可以在intertubes上找到一些有趣的意见.
Oracle没有真正的服务器架构(其他人拥有它).
它不是执行经典的服务器任务,例如多线程,数据页面缓存,并行处理(在许多设备上拆分查询)等,而是使用o/s来完成所有这些任务.这意味着每个用户进程(PL/SQL连接)都有一个unix进程; 1000个用户意味着1000个unix进程,所有进程都在竞争相同的资源.
您可能会注意到Oracle已经拥有
同样值得注意的是,即使所说的都是正确的而不是错误的,它实际上并不能帮助您确定根本原因.
特别值得注意的是,因为它使用文件系统文件(不是原始分区),而"缓存"在外面,所以它在很大程度上依赖于(并且非常敏感)您设置的文件系统缓存.同样,Oracle需要大量内存用于这些流程.
甲骨文当然可以使用再追溯到上个千年原始分区,而且如果你想在数据库中高速缓存 - 使用PerformanceDBA已经忘记了缓冲区高速缓存 - 并绕过文件系统缓存此功能适用于目前所有的文件系统.Oracle还在ASM中提供了自己的组合文件系统/卷管理器,如果您愿意,可以使用它.
甲骨文也相当好仪器(如果你有机会于DTrace的所以为solaris),并可以肯定的告诉你什么样的会议,处理等所使用的CPU,什么应用程序花费在数据库中被消耗的时间(到单独的块阅读时间,如果你关心)因此非常容易分析.我建议你在http://www.method-r.com/downloads/cat_view/38-papers-and-articles上查看关于性能的思考,并由世界顶级Oracle性能专家撰写.如果您可以访问Oracle诊断程序包,则首先检出所有ADDM报告,然后检查AWR报告是否有利可图.
小智 6
试图在这里避免火焰战争。
我可能应该将我的响应的“如何找出”部分与对PerformanceDBA有关服务器体系结构的评论的响应更清楚地分开。我同意斯蒂芬妮对春季框架的怀疑,但是如果没有适当范围的测量证据,就没有理由指责环境的任何特定属性,那就是特殊的偏见。幸运的是,oracle内核中内置的检测工具使您可以跟踪然后分析慢速会话,以准确确定问题所在。因此,我将执行以下操作:
1)启用对代表会话的跟踪(可以使用dbms_monitor软件包)。2)还要为与collect_plan_statistics提示有关的语句收集执行计划。3)使用适当的配置文件(tkprof,orasrp,method-r分析器)按时间对跟踪文件进行配置
调查问题陈述是否有助于响应时间顺序。
如果您不能执行上述操作,则可以使用ADDM和/或AWR(如果按照我最初的建议进行许可),或者可以使用statspack(如果未经诊断包许可)。ADDM自然会专注于时间消耗者,我建议如果您被迫放弃statspack路线,您也应该这样做。
归档时间: |
|
查看次数: |
2330 次 |
最近记录: |