楼主: 王飞鹏2011

找到数据库学习捷径了?大讨论总结分享+“健康检查”新话题 集体智慧 学者必入

[复制链接]
论坛徽章:
57
SQL极客
日期:2013-12-09 14:13:35秀才
日期:2016-01-21 13:42:39秀才
日期:2016-01-13 12:14:26SQL大赛参与纪念
日期:2016-01-13 10:32:19SQL数据库编程大师
日期:2016-01-13 10:30:43秀才
日期:2015-12-14 14:47:54秀才
日期:2015-10-19 15:50:392015年新春福章
日期:2015-03-06 11:58:18懒羊羊
日期:2015-03-04 14:52:11优秀写手
日期:2014-11-08 06:00:14
21#
发表于 2012-6-2 17:44 | 只看该作者
勤奋 + 刻苦 + 静心 + 坚持 + 环境
最忌:急功近利,好大喜功,心气浮躁,夜郎自大

使用道具 举报

回复
论坛徽章:
10
2012新春纪念徽章
日期:2012-01-04 11:57:56马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14优秀写手
日期:2013-12-18 09:29:08版主1段
日期:2013-06-07 02:21:02现任管理团队成员
日期:2013-06-06 02:21:02ITPUB 11周年纪念徽章
日期:2012-10-09 18:16:00马上加薪
日期:2014-02-19 11:55:14
22#
 楼主| 发表于 2012-6-3 15:21 | 只看该作者
hongyehongye1 发表于 2012-5-30 20:01
健康检查十分重要,第一是可以让管理员更了解自己的数据库,比如每天正常情况下,各个时段的连接数,应用, ...

hi,hongye,你提的很好,这里面涉及为系统做功能和性能方面的基准测试。比如对于性能优化的工作,如果有份“体检”报告,那确实对制定调优的计划大有裨益。
我们在制定性能优化目标之前,首先需要对系统做基准测试(Benchmark Test,BMT)。基准测试通常会在特定条件下对选择好的工作负载进行测试,随后将结果和标准硬件最大阈值进行比较,例如每秒钟I/O吞吐量和执行的事务数。如果在同等配置条件下,当前工作负载的性能结果接近标准参数阈值,则说明当前已无须优化,否则说明还有较大的优化空间。另外一种情况是,在系统或应用没有改动前做基准测试,等改动后将再次测试的性能值和改动前进行对比,以确认性能变化情况。例如在开发阶段,应该使用基准测试来确定应用程序是否出现性能倒退。

在这里,我罗嗦一下,提提什么是基准测试。基准测试指通过设计科学的测试方法、测试工具和测试系统,实现对测试对象的某项性能指标进行定量的和可对比的测试。例如对DB2数据库的查询响应时间和事务处理能力等方面的性能指标进行基准测试。基准测试的三大原则是可测量、可重复和可对比。其中可测量是指测试的输入和输出之间是可达的,也就是测试过程是可以实现的,并且测试的结果可以量化表现;可重复是指按照测试过程实现的结果是相同的或处于可接受的置信区间之内,而不受测试的时间、地点和执行者的影响;可对比是指测试对象的测试结果具有一定关系,即测试结果的大小直接决定性能的高低。

基准测试能帮助你理解数据库在不同条件下的响应情况。这种条件可以是配置参数更改,也可以是一个应用的新版本发布,这个时候可以对因条件的变化而导致的性能变化做定量分析。基于每个用户或某个事务基准,你可以为整个程序或者某一个特定的工作负载例如死锁处理机制、DB2实用程序性能、不同的数据加载方式、读写速度等设计不同的测试场景。你可以按照常规方式启动所有应用,随后逐级限定在某个可能问题源头。这个时候,就可以为这个问题源头开发特定的测试用例。在这个特定的测试用例中,不需要模拟整个应用来获得有价值的信息,只需要从最简单的评估开始,随后根据需要逐渐增加复杂度。

基准测试通常是应用程序开发生命周期的一部分,应用开发人员和DBA通常都需要参与进来。从最佳实践来看,通常可以运行多个迭代来获得应用程序的最佳或次佳性能,而调整系统配置、SQL语句、索引、表空间和硬件配置等可以放在不同迭代之间进行。

所以,一个好的基准测试具有下面的要求:
        测试是可重现的。
        每个迭代起始于相同的系统状态。
        没有其他的应用在系统后台运行。
        软硬件测试环境和生产环境基本一致。

因此,如果你认为体检是必要的,那么基准测试就是一个需要研究的科目了。

使用道具 举报

回复
论坛徽章:
10
2012新春纪念徽章
日期:2012-01-04 11:57:56马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14优秀写手
日期:2013-12-18 09:29:08版主1段
日期:2013-06-07 02:21:02现任管理团队成员
日期:2013-06-06 02:21:02ITPUB 11周年纪念徽章
日期:2012-10-09 18:16:00马上加薪
日期:2014-02-19 11:55:14
23#
 楼主| 发表于 2012-6-3 15:26 | 只看该作者
devilkin0312 发表于 2012-5-30 20:48
db的体检通过分析日志数据更有效,通过性能趋势分析提前发现问题比面临问题再想策略来的好,通过每天去chec ...

关于作性能趋势分析,这个需要有功力,有经验,看来devilkin0312在这方面做过功课啊,能否给我们提一些对系统数据的关键性的阀值呢? 这有些接近告警, 哪怕是估计的或经验性的数值, 大家可讨论下, 有些经验丰富的DBA提供的经验数值,比文档中的建议值更加具有实践性。

使用道具 举报

回复
论坛徽章:
10
2012新春纪念徽章
日期:2012-01-04 11:57:56马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14优秀写手
日期:2013-12-18 09:29:08版主1段
日期:2013-06-07 02:21:02现任管理团队成员
日期:2013-06-06 02:21:02ITPUB 11周年纪念徽章
日期:2012-10-09 18:16:00马上加薪
日期:2014-02-19 11:55:14
24#
 楼主| 发表于 2012-6-3 15:44 | 只看该作者
本帖最后由 王飞鹏2011 于 2012-6-3 15:47 编辑
yang358899140 发表于 2012-5-29 15:14
不单单是系统要体检,人也要体检

这两个体检是否有相似性呢?  在体检中心, 各种机器从上到下扫一通, 心肝脾胃肾统统检查一番。 看到墙上挂的那种检查分析图,我们完全可以对照一番。
   

体检表.JPG (20.2 KB, 下载次数: 23)

体检表.JPG

使用道具 举报

回复
论坛徽章:
10
2012新春纪念徽章
日期:2012-01-04 11:57:56马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14优秀写手
日期:2013-12-18 09:29:08版主1段
日期:2013-06-07 02:21:02现任管理团队成员
日期:2013-06-06 02:21:02ITPUB 11周年纪念徽章
日期:2012-10-09 18:16:00马上加薪
日期:2014-02-19 11:55:14
25#
 楼主| 发表于 2012-6-3 15:45 | 只看该作者
本帖最后由 王飞鹏2011 于 2012-6-3 15:54 编辑

对照楼上那个图,我们把数据库服务器心肝脾胃肾,给对换一遍,就成这样了。

其中,磁盘瓶颈:磁盘I/O是数据库性能的瓶颈。
     CPU瓶颈:CPU是数据库性能的瓶颈。
     内存瓶颈:内存是数据库性能的瓶颈。
     网络瓶颈:客户端和数据库服务器之间,或者数据库DPF节点之间存在网络瓶颈,从而导致了数据库性能变慢。
    “懒惰系统”:数据库运行变慢,但没有磁盘、CPU、内存或网络瓶颈。
     性能上限(包括高级技术优化):数据库性能已经达到了硬件上限,软件也没有继续优化的空间,这时候可以考虑使用数据库高级技术。

那么针对每一类瓶颈,会细分为更精确的问题类型。我想这是对数据库系统体检的一种方式,这个树形的问题分类系统,既可以用来体检,也可用于
问题定位,它们是相通的。

体检表2.JPG (16.55 KB, 下载次数: 15)

体检表2.JPG

使用道具 举报

回复
论坛徽章:
1
2013年新春福章
日期:2013-02-25 14:51:24
26#
发表于 2012-6-4 11:29 | 只看该作者
王飞鹏2011 发表于 2012-6-3 15:45
对照楼上那个图,我们把数据库服务器心肝脾胃肾,给对换一遍,就成这样了。

其中,磁盘瓶颈:磁盘I/O是数 ...

大神在这里啊。。。膜拜

使用道具 举报

回复
论坛徽章:
39
嫦娥
日期:2015-08-26 10:44:22托尼托尼·乔巴
日期:2019-12-17 00:46:1120周年集字徽章-20	
日期:2020-10-28 14:59:27
27#
发表于 2012-6-4 16:20 | 只看该作者
本帖最后由 hanaka 于 2012-6-4 16:23 编辑

我以Oracle为例,但我觉得DB2应该类似

定期体检,有木有?
-- 肯定有,天天有。
    基本检查,比如表空间是否超过阈值?文件系统是否超过阈值?日志里是否有明显的报错?还可以看看是否有明显性能问题的SQL语句等等。

体检,你认为有用么?
-- 有用,但是不能全靠体检,因为体检没问题,不代表不出故障,有时故障的来临只是瞬间迸发的。

体检前,有啥准备事项?
-- 有个基准,常用的可以写成shell等

使用道具 举报

回复
论坛徽章:
10
2012新春纪念徽章
日期:2012-01-04 11:57:56马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:14优秀写手
日期:2013-12-18 09:29:08版主1段
日期:2013-06-07 02:21:02现任管理团队成员
日期:2013-06-06 02:21:02ITPUB 11周年纪念徽章
日期:2012-10-09 18:16:00马上加薪
日期:2014-02-19 11:55:14
28#
 楼主| 发表于 2012-6-4 17:54 | 只看该作者
hanaka 发表于 2012-6-4 16:20
我以Oracle为例,但我觉得DB2应该类似

定期体检,有木有?

好的。我们学习啦。 hanaka能否再讲些经历呢? 例如通过体检,查出的一些问题,这样大家会对系统体检更加重视,操作的程度更高。

使用道具 举报

回复
论坛徽章:
43
现任管理团队成员
日期:2011-05-07 01:45:08ITPUB元老
日期:2012-09-12 14:50:28版主5段
日期:2014-06-11 02:21:31阿斯顿马丁
日期:2013-11-19 10:38:16祖母绿
日期:2012-11-06 12:43:12路虎
日期:2013-11-20 11:37:53雪佛兰
日期:2013-09-05 13:28:25ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:24秀才
日期:2015-05-26 13:32:07
29#
发表于 2012-6-5 10:36 | 只看该作者
王老师总结的很好,学习了

使用道具 举报

回复
论坛徽章:
2
SQL大赛参与纪念
日期:2011-04-13 12:08:17鲜花蛋
日期:2012-06-27 14:29:12
30#
发表于 2012-6-5 13:43 | 只看该作者
王飞鹏2011 发表于 2012-6-3 15:21
hi,hongye,你提的很好,这里面涉及为系统做功能和性能方面的基准测试。比如对于性能优化的工作,如果有份 ...

基准测试是否可以通过db2batch来完全实现。另外性能上限需要如何来提升?相关参数的不断调整来实验?

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表