如何减少CUP使用

TechTarget中国 发表于:13年05月03日 12:57 [转载] 网界网

  • 分享:
[导读]DBA们应该将自己从“我要对什么调优?”的老路上解放出来,而在指标、配置和成本方面花费一定的时间。研究这些测量指标并做一个对根本原因的分析,而这将花费很多时间和精力。DBA都是聪明人,但很少在操作系统和DBMS系统性能调优上有发言权。

如何减少CUP使用

如果症状表现为大量的CPU资源请求,那么原因是什么?在SQL语句层面可能包括:

•糟糕的SQL代码;

•糟糕的应用程序代码;

•交易应用的提交策略不佳;

•过度使用批量卸载/加载/备份流程;

•频繁使用RunStats;

•对缓冲池大小的选择不当;

•对BP页集选择的不当分配;

•排序池/RID池的内存分配不足;

•内存管理不当导致实际存储的分页;

•对DB2子系统的配置不当;

•DB2配置为最大I/O吞吐量,而非最小CPU利用率;

•DB2配置为高性能写访问;

•频繁执行备份;

•执行LOAD ... LOG YES。

进行SQL语句调优将解决CPU容量问题,在正确得出类似结论之前,DBA必须首先收集相关数据。甚至还需要做更多的工作来证明通过给DB2子系统添加CPU容量可以增加吞吐量。

我并不是说SQL调优总是在浪费时间,如果你不衡量在这一过程中资源耗费和节省的状况,你又怎么能知道这样做值不值得呢?作为一个管理者,我更倾向于DBA能将它们宝贵的时间投入到灾难恢复准备,数据可用性和安全性等这些高优先级的问题中去。

开发人员编写性能不佳的SQL代码

这可以说是一个普遍的事实存在。DBA可以给开发人员提供最佳实践以及SQL实现标准,让他们知道好的SQL开发人员应该怎样写代码,然后提供SQL代码示例。

另一个常被忽视的问题是: IT部门有对用户的资源成本负责吗?也就是说,他们有对CPU和磁盘存储的使用进行支付吗?对于事务/应用程序有没有订立服务水平协议以及配套的处罚措施呢?如果不存在任何的这样的机制,那么程序开发人员就会没有动力去编写性能优良的代码。

那么我到底要不要做SQL调优?

要摆脱疲于应付SQL调优的状态就要做根本原因分析。为什么不良SQL总是不断汹涌而来?难道是开发人员写代码太糟糕?如果是这样,也许解决之道就是培训,或是让他们自己进行调优。工具是否会自动生成性能不佳的SQL呢?答案可能会比较复杂,因为它会涉及到工具的升级,索引管理,RunStats管理,甚至是DB2子系统调优等诸多方面。

最后,DB2子系统,数据共享以及操作系统配置是最常影响应用程序和SQL性能的。如果你花费大量时间在SQL查询调优上,也仅仅是发现系统参数值造成这样的结果,难道你不会觉得烦躁吗?难道你就真的希望每每配置发生改变就要一遍又一遍的对单条不良SQL语句进行调优吗?

总结

如果DBA花费时间去做SQL调优而不是修复导致问题的根本原因,那么支持人员和IT部门要如何成长?你又如何才能有机会变得积极主动呢?企业则会越来越依赖于各种问题专家。

如果你花费职业生涯来做SQL调优,你可能会成为这方面的专家。这意味着类似子系统配置,新功能实施,协调灾难恢复等工作就会被交给其他人去做。这对于DBA职业的发展其实是很不利的。

[责任编辑:尤佳]
据国外媒体报道,市场调研公司Gartner日前发布报告称,从现在开始的三年时间后,平板电脑出货将会超越传统Windows PC,且出货量将超过72%。在这段时间里,PC出货将以更快的速度下滑。
官方微信
weixin
精彩专题更多
存储风云榜”是由DOIT传媒主办的年度大型活动。回顾2014年,存储作为IT系统架构中最基础的元素,已经成为了推动信息产业发展的核心动力,存储产业的发展迈向成熟,数据经济的概念顺势而为的提出。
华为OceanStor V3系列存储系统是面向企业级应用的新一代统一存储产品。在功能、性能、效率、可靠性和易用性上都达到业界领先水平,很好的满足了大型数据库OLTP/OLAP、文件共享、云计算等各种应用下的数据存储需求。
联想携ThinkServer+System+七大行业解决方案惊艳第十六届高交会
 

公司简介 | 媒体优势 | 广告服务 | 客户寄语 | DOIT历程 | 诚聘英才 | 联系我们 | 会员注册 | 订阅中心

Copyright © 2013 DOIT Media, All rights Reserved. 北京楚科信息技术有限公司 版权所有.