表征数据库性能问题的三个指标

日期: 2016-06-23 作者:Craig S. Mullins翻译:张亮亮 来源:TechTarget中国 英文

即使数据库结构定义和SQL代码编写非常完美,应用程序性能都可能下降。如果性能问题不能得到及时纠正,那么就可能为公司带来很大的损失。 当数据库性能出现问题时,企业内部的业务流程会放缓而且终端用户会抱怨。但这并非是最坏情况。

如果外部系统性能非常糟糕,那么公司可能会失去很多业务,因为那些厌倦了等待程序响应的客户会转投他家。 因为多种因素会影响数据库系统和应用程序的性能,所以对于依赖数据库管理系统(DBMSes)来运行关键任务系统的企业来说,能够发现并修复造成数据库性能问题症结的工具显得尤为重要。而且在如今以数据库为中心的IT环境下,这适用于大多数企业。 寻找性能问题的类型 由于存在种类繁多的数据库性……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

即使数据库结构定义和SQL代码编写非常完美,应用程序性能都可能下降。如果性能问题不能得到及时纠正,那么就可能为公司带来很大的损失。

当数据库性能出现问题时,企业内部的业务流程会放缓而且终端用户会抱怨。但这并非是最坏情况。如果外部系统性能非常糟糕,那么公司可能会失去很多业务,因为那些厌倦了等待程序响应的客户会转投他家。

因为多种因素会影响数据库系统和应用程序的性能,所以对于依赖数据库管理系统(DBMSes)来运行关键任务系统的企业来说,能够发现并修复造成数据库性能问题症结的工具显得尤为重要。而且在如今以数据库为中心的IT环境下,这适用于大多数企业。

寻找性能问题的类型

由于存在种类繁多的数据库性能问题,因此很难对单个问题的成因进行追踪。例如,数据库结构和应用程序代码从一开始就存在瑕疵是有可能的。糟糕的数据库设计决策和不正确的SQL语句编码会导致低劣的性能。

或者一个系统在开始时设计良好,但是随着时间的改变引起了性能的下降。更多的数据,更多的用户或是不同的数据访问模式都能拖慢最好的数据库应用程序,甚至是对DBMS的维护。数据库缺乏日常维护也可能是引起性能急剧下降的原因。

以下三个指标可以表征你所在IT企业数据库的性能问题:

应用程序缓慢。潜在的数据库性能问题最为重要的指示是最开始应用程序运行飞快,但是后来则越来越慢。这包括员工和客户所使用的在线事务处理系统,或是为诸如工资单处理和月底报告等任务批量处理数据的批处理工作。

在没有数据库性能管理工具的情况下是很难对处理中的工作负载进行监控。在这种情况下,数据库管理员(DBAs)和性能分析师必须依赖其他方法来检测问题。特别是终端用户抱怨诸如应用程序屏幕加载时间太长或是在一个应用程序内键入信息后长时间无反应这类问题。

系统停机。当一个系统宕机的时候,数据库性能显然是最糟糕的。诸如增长的数据量将存储空间耗尽或是数据集,分区,包等资源不可用这类数据库问题都会引起停机。

需要对硬件频繁升级。企业不断将服务器升级至拥有更多内存和存储空间的更大模型通常会有助于数据库性能调优。不过比起对昂贵的硬件和设备进行升级,调整数据库参数,对SQL语句进行调优以及对数据库对象重新组织则更为廉价。

另一方面,有时硬件升级是需要解决数据库性能问题的。但有了正确的数据库监控和管理工具,就可以通过对问题的成因进行定位并确定适当的步骤来解决,如此一来就能降低升级成本。例如,增加更多的内存或实现更快的存储设备来解决影响数据库性能的I/O瓶颈是性价比很高的方法,而且这样做可能要比更换整个服务器要更为廉价。

有些问题可以通过工具帮助管理

当数据库性能问题出现的时候,不太可能马上就能定位它们的确切成因。DBA必须把终端用户对问题模糊的抱怨翻译成与性能相关的特定问题来让这些问题具备可描述性。这是一个困难且易于出错的过程,尤其是DBA在没有自动化工具的情况下。

收集数据库使用指标并识别特定数据库问题的能力——无论是以什么方式和在什么时候出现——或许是数据库性能工具最为引人注目的功能。当面对对性能的抱怨时,DBA能使用统计来强调当前和过去的关键条件。软件会对数据库进行快速检查并对潜在问题进行诊断,而不必手动去寻找问题的根本原因。

大多数数据库性能工具还能够用于设置性能阈值,一旦触及就会向DBA发出问题警报或是将屏幕指示器从绿色变为黄色或红色。除此之外,DBA还可以针对数据库性能安排定期报告来对那些需要解决的问题进行识别。而高级工具则可以同时识别和帮助解决问题。

比如终端用户呼叫DBA,诉说其应用程序的屏幕不及以往那样反应迅速。该DBA使用数据库性能工具对阈值进行了检测并得到了红色的闪烁灯光。通过检测阈值条件,DBA可以使用工具来识别瓶颈引发的争用并且能够迅速对问题进行修复。与之形成对比的则是那些未装备工具且在黑暗中漫无目的摸索的DBA。

由于性能问题变化多端,因此高级性能管理工具集需要一系列功能。数据库性能工具应该提供的关键功能包括:

  • 评估SQL优化和性能
  • 分析SQL现有索引的功效
  • 必要时查看存储空间并整理磁盘碎片
  • 观察并管理系统资源使用情况
  • 在测试环境下模拟生产
  • 执行数据库问题的根源分析

改善性能时不我待

部署了数据库性能工具的企业能够避免长期性能不佳的问题。这些工具能够将解决数据库性能问题所需的时间最小化,而且有时甚至能帮助企业避免某些性能问题以及完全宕机。例如,它们使DBA在针对性能问题的解决上变被动为主动。DBA或工具会自动发现问题并采取相应的纠正措施,而不是坐等系统用户对性能欠佳的症状进行报告,有时或许会先于用户发现问题。

另外,这些工具还能够帮助企业对服务水平进行有效地管理,而服务水平是对IT系统中操作行为的衡量。对于一个企业来说,其应用适当的资源和预算有着不同的重要性,服务水平管理可以据此来确保应用程序有相应地表现。数据库性能软件能够帮助DBA监控并管理测量过程的可用性和响应时间。

用于监控和管理数据库性能的工具是让企业能够为客户和终端用户有效交付服务的基础设施的关键组件。现在介绍了可能出现的性能问题的种类以及数据库性能工具是如何提供帮助的,下一步就是要揭示不同类型的数据库性能管理工具最为重要的功能。

作者

Craig S. Mullins
Craig S. Mullins

数据管理策略研究人员,拥有超过30年的数据库系统经验

翻译

张亮亮
张亮亮

TechTarget特邀编辑。毕业于北京邮电大学网络技术研究院。熟悉软件开发测试的各个环节和流程,对操作系统,数据库,计算机网络等有较为深入的理解。现就职于中国电子科技集团公司下属研究所,从事软件研发工作。热衷于英文的学习交流,平时喜欢户外运动,音乐,电影。

相关推荐