作 者:英巴卡迪诺系统咨询师 王少峰
随着企业的业务发展,将会有更多的应用系统增加到企业的业务系统基础架构中来。企业的各种系统随着业务扩大和信息化程度加深而不断发展,而且这些系统和应用大多是以数据为中心,都将导致业务系统基础架构的数据量激增和复杂度加大。企业的IT部门面临前所未有的复杂性挑战,需要确保业务系统的可用性、高性能、可靠性、可扩充性,提高IT服务质量。
对于如何充分发挥业务系统的价值、控制好业务系统的管理成本、保证业务系统的服务质量,人们一直在寻求一种有效的解决方法。
Embarcadero(英巴卡迪诺)公司成立于1993年,总部位于美国旧金山,是全球最大的独立工具提供商之一,拥有业界最完整的应用开发和数据库服务平台,致力于帮助用户最大化优化业务系统的可用性、性能、可靠性和可扩充性,提高服务质量(图1)。
图1 对数据进行全生命周期的设计、开发、优化、管理意义重大.
数据库性能差的系统将极大地影响业务的运转、降低企业生产力、增加开发和硬件开销、损害客户关系,从而给企业带来大量的收入损失。由于时间和资源的限制,企业很难通过重新设计、编写或替换应用和数据库的方式来达到提高性能的目的,同理,单纯地靠硬件改造也是不现实的。较理想的方式就是从深层次尽可能地提升现有系统性能。
为了保证IT服务质量,业务系统管理人员必须对业务系统的性能和总体发展趋势有更深层次和更主动地把握。
由于性能问题可能在各个环节中随时出现,因此英巴卡迪诺提供预防、发现和修复三步方法论帮助系统管理人员主动发现问题,确保系统性能良好。
预防
为了预防出现系统性能问题,网管员需要对数据库服务器进行不间断的监控。英巴卡迪诺PerformanceCenter提供24x7全天候的数据库性能监控功能,并且根据数据库的类型(包括IBMRDB2RLUW、MicrosoftRSQLServer、OracleR和SybaseR)有针对性地提供数据库健康指数,使得管理员对数据库的性能状况一目了然(图2)。
图2 跨平台的数据库健康指数.
数据库健康指数是显示每一种监控数据库整体性能水平的一种单一指标。通过对内存、I/O、争用、空间、网络、对象、用户和SQL等方面的重要统计进行取样,PerformanceCenter能够快速确定一个数据库的完整性能图。管理员也可以对每个数据库的健康指数进行定制,建立应用于每一个特定数据库的单一临界值和测量方法(图3)。
图3 数据库健康指数指标示意图.
发现
当系统由于某种操作即将出现问题时,就需要在第一时间通知相关人员,并且快速定位到引起问题的原因,及时干预,防止出现严重的性能问题甚至是停机。英巴卡迪诺PerformanceCenter使用各种度量指标实时识别并诊断数据库性能状况,根据设置的告警值,通过电子邮件、短信和系统广播等方式发出预警;另外还可以通过调用命令行或SQL作业,在数据库性能受到严重影响之前自动化矫正该故障。
其中SQL捕获功能可以帮助管理员快速定位到引起问题的操作。SQL捕获在系统即将出现故障时自动启动,收集各种连接用户操作信息,包括SQL语句等(图4)。
图4 SQL捕获功能可快速定位引起问题的操作
PerformanceCenter通过对数据库的24x7全天候覆盖,能够在故障产生作用、威胁到数据库健康之前进行准确诊断,帮助数据库管理员进行早期故障检测,启动无人监视模式的监控进程。
修复
数据库管理员的任务是将数据库性能最大化,而很多性能问题都是由SQL引起的。为达成这一目标,硬件升级十分重要,但硬件升级往往相当昂贵,而且只能暂时掩盖不良SQL的缺陷。英巴卡迪诺提供的DBOptimizer能够帮助开发人员和数据库管理员快速发现运行不良的SQL并对其进行诊断和优化,从而让数据库性能保证在最佳状态。发现数据量大的或频繁出现的查询,通过数据统计(如:CPU、I/O、等待时间等)关注特定的SQL语句,对有问题的语句进行优化(图5)。
图5 DB Optimizer可快速发现运行不良的SQL并对其进行诊断和优化
此外,管理员也可以使用DBOptimizer优化在PerformanceCenter中捕获到的不良SQL。DBOptimizer根据查询代价、等待时间和其它性能相关信息,帮助确定最优操作方案(图6)。
图6 DB Optimizer可帮助确定最优操作方案
英巴卡迪诺提供的数据库性能解决方案给了数据库管理员一种既明确又简便的方法,以确保他们能够有效使用每一种数据库。PerformanceCenter的强大功能可以帮助数据库管理员锁定任何类型的性能故障。数据库管理员能够使用单视图模式实时查看数据库,查看任何时间点的数据库执行情况;从而能快速下查数据库性能的具体信息,对引起这些故障的原因进行定位。DBOptimizer对有问题的语句进行优化,彻底突破性能瓶颈。