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

DBA经常用到的一些基线与容量

白鳝的洞穴 2020-04-29
1071
昨天老白和大家讨论的DBA应掌握的技能清单,中间提到了基线与容量的问题。实际上,基线与容量是DBA判断一个系统正常与亚健康的一个十分重要的手段。如果你常年在维护同一套系统,那么一个有心人会总结出一些系统的规律性的东西,比如每天的REDO量,高峰期的CPU峰值,每天的业务最高峰,经常出现的等待事件等等等等。这些就是我们的运维基线,当某天这些现象发生变化的时候,我们就可以认为系统出现了一些异常,就可以去针对性的分析,这样我们的运维质量与运维能力都提升了。
除了我们日常积累的某个系统的基线之外,DBA还需要知道一些常识。比如db file sequenttial read的平均延时多少是合理的?Oracle公司的官方解释是如果这个指标超过了20毫秒,那么IO对数据库就造成了比较大的影响。实际上,定义20毫秒已经是20多年前的事情了,以目前的硬件水平,这个指标超过10毫秒,就说明你的系统的IO状态不是很好了。一些使用较新较高端硬件的朋友,你们可以关注下,大概这个指标大概会在2毫秒左右。当然10毫秒以内对大多数系统不会造成比较严重的性能问题,除非你的系统是一个高并发交易型的系统,交易都是毫秒级的,那么很可能1-2毫秒的延时增加都会让你的交易出现较大的负面影响。
另外举个例子就是SAS盘,15000rpm的盘和10000rpm的盘的性能指标有什么区别呢?对于IOPS,吞吐量这些指标来说,实际上这两种盘的差异并不大,除非是IO负载极高的系统,使用这两种盘的区别不是很大(这两种盘价格差别比较大)。但是如果你的系统是一个IO延时十分敏感的系统,那么就要注意了,这两种盘的理论IO延时相差15-20%,也就是说1万转的盘会比15000转的盘慢15-20%,也就是说,如果15000rpm的盘的IO延时是2.5毫秒,那么10000转的盘的IO延时可能是2.8毫秒。实际生产环境的情况比理论值会略高一些,以老白以前遇到的情况看,大约要慢0.5-1毫秒。对于绝大多数用户的系统,这1毫秒关系不大,哪怕是高了一毫秒,算上存储CACHE的平均后,10000rpm SAS盘在数据库看到的IO延时也不过在3毫秒左右,对大多数系统无害,但是对一些交易撮合类的系统,或者实时集合计算的系统,这个延时还是不能接受的。
当然了,对IO问题也不需要纠结,SSD盘的价格已经很便宜了,使用SSD盘,IO的问题就解决大部分了。当然NVME SSD和SAS/SATA SSD在性能基线上的不同也是要十分注意的,对于读IOPS来说,SATA SSD和NVME SSD的差距并不是特别明显,相同容量的盘的性能可能不过是45万IOPS和25万IOPS的差距,SATA SSD与NVME SSD的性能主要的差别是在随机写和IO延时上。根据你的系统的实际需求去选择SATA SSD还是NVME SSD是十分必要的,几倍的价格差异在这儿摆着呢。从老白遇到的这些CASE来看,95%以上的场景,SATA SSD就是可以解决问题的,没必要去花大价钱买NVME SSD。
关于容量与基线的话题十分庞大,今天时间有限,我们先聊这些。下回我们可以找时间聊聊一些其他的基线指标。
最后修改时间:2020-04-30 08:19:07
文章转载自白鳝的洞穴,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论