暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

【每日一练 081】性能优化概览

原创 李美静 恩墨学院 2020-11-23
845

1 数据库度量

为了管理Oracle数据库并使其平稳运行,数据库管理员(DBA)必须定期监视其性能,以定位瓶颈并纠正问题区域。
DBA可以查看数百种性能度量,涵盖了从网络性能和磁盘输入/输出(I/O)速度到单个应用程序操作所花费的时间等各个方面。这些性能度量通常称为数据库度量。

2 性能优化的整体思路

调优的三个方面包括性能规划、实例调优和SQL调优。
性能规划是建立环境的过程:硬件、软件、操作系统、网络基础设施等等。
实例调优是对Oracle数据库参数和操作系统(OS)参数的实际调整,以获得更好的Oracle数据库性能。
SQL调优涉及使应用程序提交高效的SQL语句。对整个应用程序以及个别语句执行SQL调优。在应用程序级别,您希望确保应用程序的不同部分正在利用彼此的工作,并且没有不必要地竞争资源。

2.1 性能规划

性能规划有很多方面。计划必须包括性能(速度)、成本和可靠性之间的平衡。必须考虑对系统架构的投资:满足需求所需的硬件和软件基础设施。当然,这需要进行分析,以确定给定环境、应用程序和性能需求的值。例如,硬盘驱动器和控制器的数量会影响数据访问的速度。
应用程序的可伸缩能力也很重要。这意味着能够处理越来越多的用户、客户机、会话或事务,而不会对整个系统性能造成巨大影响。最明显违反可伸缩性的是用户之间的序列化操作。如果所有用户一次只使用一个路径,那么随着用户的增加,肯定会对性能产生不利影响。这是因为越来越多的用户排队通过这条路径。编写糟糕的SQL也会影响可伸缩性。它需要很多用户等待低效的SQL完成;每个用户都在大量他们实际上并不需要的资源上相互竞争。
应用程序设计的原则对性能有很大的影响。设计的简单性、视图和索引的使用以及数据建模都非常重要。
任何应用程序都必须在具有代表性的生产工作负载下进行测试。这需要估计数据库大小和工作负载,并生成测试数据和系统负载。
在部署新应用程序(或新版本的应用程序)时,必须考虑性能。有时,设计决策是为了在部署期间保持与旧系统的兼容性。应该(在生产环境的基础上)专门为它所承载的应用程序配置一个新的数据库。
一项困难且必要的任务是在更改基础结构时测试现有应用程序——例如,将数据库升级到新版本,或更改操作系统或服务器硬件。在将应用程序部署到新配置中的生产环境之前,需要了解其影响。应用程序几乎肯定需要额外的调优。需要知道关键功能的执行不会出现错误。

2.2 实例优化

在任何调优活动开始时,都需要有特定的目标。像“每分钟处理500笔交易”这样的目标比“越快越好,我们才知道什么时候够好”这样的目标更容易实现。
必须为应用程序适当地分配Oracle数据库内存,以获得最佳性能。只能使用有限的内存。分配给Oracle数据库服务器的某些部分的内存太少,可能会导致低效的后台活动,如果不进行一些分析,甚至可能不会意识到这一点。
磁盘I/O通常是数据库的瓶颈,因此在任何数据库实现开始时都需要非常注意。
操作系统配置也会影响Oracle数据库的性能。

2.2.1 调优步骤

Oracle基于多年的经验开发了一种调优方法。基本步骤是:

  1. 在调优实例之前,检查操作系统统计数据和一般机器运行状况,以确保问题在数据库中。使用Enterprise Manager数据库主页。
  2. 从设计开始,然后是应用程序,然后是实例。例如,在调优磁盘上的表空间布局之前,尝试消除导致I/O争用的全表扫描。此项通常需要访问应用程序代码。
  3. 确定最大的瓶颈并对其进行优化。重复这一步骤。所有各种调优工具都有一些方法来识别耗时最长的SQL语句、资源争用或服务。Oracle数据库提供了一个时间模型和度量来自动化识别瓶颈的过程。
    Oracle数据库服务器软件捕获关于其自身操作的信息。收集了三种主要类型的数据:累积统计信息、度量和抽样统计信息。

2.2.2 调优参考的信息

累积统计信息是数据库服务器中发生的各种事件的计数和时间信息。有些非常重要,例如缓冲区忙等待。其他方法对调优影响不大,比如索引块拆分。调优最重要的事件通常是显示最大累计时间值的事件。Oracle数据库中的统计信息通过使用时间模型进行关联。时间模型统计信息是基于DB时间的百分比,这为比较提供了一个共同的基础。
度量是每单位的统计计数。单位可以是时间(例如秒)、事务或会话。度量标准为主动监视性能提供了基础。可以在指标上设置阈值,从而生成警报。例如,可以为每毫秒的读取超过以前记录的峰值或存档日志区域已满95%设置阈值。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论