存储:

存储的几个主要指标是IOPS、带宽与响应时间。

IOPS:

指的是系统在单位时间内能处理的最大IO频度,一般是指单位时间内能完成的随机小IO个数。

带宽(throuput):

有的时候也较吞吐量,指的是单位时间按内最大的IO流量。往往是采用大的IO块、大的带宽获得的最大流量。

这几个指标即相互独立有相互关联。一般来说,当涉及更多的频繁读写时(OLTP),更多的考虑IOPS与响应时间;

而一些大量的顺序文件访问,例如数据仓库应用(OLAP),流媒体,更多的考虑带宽指标。

响应时间:

单IO的响应时间指的是一个IO请求从开始到结束的时间,它往往与cache大小以及命中率有很大关系。

决定IOPS的因素有如下几个:

磁盘个数:

首先看磁盘个数,这个是决定存储IOPS的最关键因素,因为每个磁盘的最大IOPS个数是有限制的。

目前的情况是:

FC硬盘(光通道硬盘)速率>SATA硬盘速率

15K转速FC硬盘>10K转速硬盘

举个例子:

如果一个磁盘阵列有120块 15K rpm的光纤硬盘,他能支撑的磁盘IOPS为 120×150=18000,基本达到硬件限制的理论值。

cache命中率:

cache 如果命中,一个查询可能只需要 1-2ms就可以返回,而磁盘读取,就可能需要

5-10ms;如果读操作特别多,可能需要更高。cache读操作速度是磁盘读操作速度的5倍以上。

一般情况下,cache越大,命中率也越高,当然命中率也和应用,数据库设计也有关。

好的应用设计可以大大的提高cache命中率。

因为读 cache  采用类似 LRU的算法设计,对于比较典型的OLTP环境是比较合适的,而在数据仓库应用(OLAP)

或者类似文件流的系统中,因为读cache很不容易命中,所以作用不是很大。

阵列的算法:

阵列算法有 cache算法、寻道算法、预读算法等,它们对IOPS与cache命中率也有直接间接的影响,

阵列不一样,算法也不一样。

cache命中:

如果数据在内存中(磁盘阵列的内存),则可以直接从内存中获得,这个称为cache命中。

关于cache,有几个要注意的地方:

一般在生产系统中都要打开cache mirror这个功能,如果一个节点失败,另一个节点的 cache mirror镜像的存在能保证不丢失数据,

把cache 数据写回磁盘。

cache读和cache 写:

对于raid 5 格式的磁盘阵列来说, cache尤其重要,数据可以先写到cache中,再由磁盘阵列写回到硬盘上去。

否则,直接写到磁盘阵列的硬盘上,由于raid 5还要读写额外的校验信息,比 raid 10 需要更多的io。

关于RAID:

建议对OLTP数据库,采用RAID 10而不是 RAID5.

原因前面也说了,因为一个读写,同样的情况下,RAID5 需要的 io比 RAID10 更多.

存储的第二个重要指标 带宽

吞吐量主要取决于硬盘的个数、光纤通道的数量和带宽、阵列的构架。

与IOPS一样,每个硬盘也有自己最大能支持的流量大小,硬盘类型与最大流量的关系是

15kRPM光纤硬盘>10KRPM光纤硬盘>SATA光纤硬盘

比如说,假设一个阵列有120块,15K rpm 的光纤硬盘,那么硬盘上最大可以支撑的流量是

120*13=1650MB/s

除了硬盘,就要考虑光纤通道了,

如数据仓库环境(OLAP)中,如果1块2Gb的光纤卡,所能支持的最大流量是 2Gb/8=250MB/s的实际流量。

需要4块才能达到 1GB/s的实际流量,所以数据仓库可以考虑用 4Gb的光纤卡。

最后,阵列的构架因每个阵列的不同而不同,它们也都存在内部带宽,(类似PC的总线),不过一般情况下,

内部带宽都设计的很充足,不是瓶颈所在。

存储的第三个重要指标 响应时间

除了IOPS与吞吐量,另一个重要指标就是 单IO的响应时间,单IO的响应时间与IOPS的当前值、吞吐量大小以及

cache 命中率都有很大的关系。

经验值表示,一个IO的响应时间在20ms以内,应用基本可以正常工作,作为一个核心的高可用OLTP环境,

最佳的单IO响应时间建议在10ms以内。

总结存储的选型:

如果应用是一个大型的交易系统,也就是典型的OLTP环境,其中以事务与小的查询语句多,基本是离散读与

离散写,首先考虑IOPS因素,并配置合适的硬盘个数和Cache 大小。

如果应用数数据仓库环境,或者是典型的OLAP环境,其中主要运行大型的SQL语句,需要大吞吐量,读写规则

基本上是连续读和连续写,则需要考虑存储系统带宽与 存储大的光纤通道带宽之和,并配置适当的硬盘个数,

这与CACHE大小关系不大。

存储的测试方法与测试软件

LOAD RUNNER:

ORION:

推荐使用ORION,可以用它来模拟ORACLE的运行,并获得极限压力情况下的压力数据,包括IOPS,带宽与IO响应时间。

个人对目前存储主流的选型考虑:

1.成本预算问题。一般来说,级别越高,成本也越高,处于成本的考虑,采用中低端存储成为大多数用户的选择。

2.响应速度与可靠性的问题,中端存储就可能提供高速的响应速度,在相同的磁盘数量的情况下不会和高端

存储相差多远(高端存储扩展能力更强),但是可靠性方面确要差很多,所以,如果可靠性要求非常高的系统,

可以考虑用高端存储。

3.存储的评估指标。存储的主要测评指标是IOPS、带宽、与响应时间。然后,需要根据自己的业务类型,是偏重于

IOPS的OLTP环境,还是偏重于带宽的OLAP系统。如果有了这些信息,就可以根据自己的需求,多选择几个合适

于自己的存储产品,分别去做测试。

测试是非常重要的,存储厂商一般都会配合完成这些测试,而且测试的时候,最好不要依靠存储厂商的测试软件,

要模拟自己的真正应用,做最真实的模拟测试。另外,不同的存储厂商之间,硬件环境与测试指标要完全一样,

这样才有对比。

另外,不要轻易相信厂商的数据与指标,更不要相信他们广告式的宣传。他们的指标是在适合他们的环境下测试得到的,

如IOPS,可能全部是在存储cache命中的基础上得到的,而对于用户业务环境,这样的情况不可能发生。

随着小型机的飞速发展,很多大/中型机器上的技术已经移植到小型机上,所以,大型机与小型机的区别已经不像以前那么明显,一般只是沿用以前的叫法。
在机器处理能力上,高端的PC SERVER可能比低端的小型机更快,高端的小型机,也可能比部分大/中型机更具有快速处理能力与优越的性价比。可靠性方面,小型机具有接近大/中型机的可靠性,PC Server在这里是无法比较的。

小型机不仅具有高速的事物处理能力,也具有高效的稳定性,比较适合高可用的OLTP数据库业务。在评测机器的具体处理能力,也就是性能指标方面,现在又了很多种方法,如TPC-C是一种行业标准测试项目,旨在衡量联机事物处理(OLTP)的系统性能与可伸缩性的。这种基准测试项目将对包括查询、更新及队列式小批量事务在内的数据库功能进行测试。许多IT专业人员将TPC-C视为衡量“真实”OLTP系统性能的有效指示器。

主流小型机对比:
IBM小型机系列:
IBM 小型机系列现在基本是 I系列与P系列,从Power5开始,I与P其实是统一的硬件体系,只是
OS许可(以及微码)不一样而已。在P系列,从POWER3发展到现在的Power6,IBM以强劲的CPU处理能力,发展了众多的型号。如完整的Power5系列中,有从P505开始到P595结束的一系列机器,在P595中,最多可以支持到2TB的内存与64颗强劲的64位power5+的处理器内核(CORE).最近推出的POWER6,可以到到4.7GHZ的主频,并支持更复杂的计算模式,例如十进制运算。另外,从Power6与AIX6开始支持更多的虚拟化功能,例如可以把工作负载从一个服务器转到另一个服务器,而且不会使应用发生任何中断.

HP小型机系列:
由于HP和COMPAQ合并了,所以HP服务器的产品线显得有些复杂,即有HP本身的服务器系列,也有Compaq服务器系列.另外,因为采用了Inter 的安腾CPU,小型机方面主要分为两个系列,一是采用Inter Itanium2的RX系列,以及采用Pa-risc的Rp系列.在Rx系列,有采用Intel Itanium2的RX1620到高性能的Superdome服务器.在Rp系列,也有从Rp3410到Superdome的众多服务器.
比如Superdome 服务器,就有2TB的内存和192个IO插槽,可以扩展到64路/128颗处理器内核(Core),也就是最多可以采用128颗PA-8800/8900或者是Itanium 2的CPU,是HP的高端小型机。

SUN小型机系列:
   SUN的主机的市场占有率不如IBM与HP那样高,原来的主要型号有采用 UltraSparc 3构架的V系列到采用UtralSPARC 4(+)的E系列,例如 Sun Fire V100到E20K与Sun Fire E25K服务器,E20K最多36个UltralSparc 4+双线程处理器,而E25K可达72个 UltralSparc 4双线程处理器。
   SUN在最新产品中,开发了6款基于SPARC架构、运行Solaris 10开源操作系统的主机。其中 SPARC Enterprise T1000与SPARC Enterprise T2000两款服务器基于UltralSPARC T1处理器;
   数据中心等级的SPARC Enterprise M9000与SPARC Enterprise M8000,以及中端款式的SPARC Enterprise M5000/Enterprise M4000 两类产品,均采用SPARC 64-4处理器。例如 M9000最多可以达到2TB 内存与64颗 CPU,128个核心(Core)

注:
不同的厂家,在处理器(processor,也叫CPU)的概念上出现了差异,在IBM与INTEL,AMD的CPU中,一般一个核心(CORE)对应一个处理器,就是通常叫的CPU,而在SUN CMT技术的CPU中,一个硬件芯片,可能存在多个(CORE),但是它们只叫一个处理器(CPU).

小型机的技术:

几大关键技术
1、多核技术与CMT技术
2、SMT技术
3、虚拟化与分区技术
4、高RAS特性

1、多核技术
多核技术可以看成是一种CPU的集成技术,在一个CPU处理模块(芯片)上,也就是以前的一个CPU空间大小上,可以集成一个或多个Core。一般情况下,因为一个Core就具有一个单独处理能力与运行能力,也具有单独的CACHE,所以,在IBM/INTEL/AMD等CPU生产厂家,都是把一个Core当成一个CPU。
而在SUN那里,这个技术被称为CMT技术,虽然一个CPU处理模块(芯片)上集成多个Core,但是,却把每个CPU处理模块(芯片)才叫一个CPU。这个技术解决了,单位单个CPU主频上不去,但是单位面积内的CPU芯片大小不变,确具有更强大处理能力的问题。(注意,ORACLE的收费方式不是按物理的CPU来购买LICENSE,而是按实际的Core来收费)

2、SMT技术
如果说多核技术一般指CPU的高集成度,而并发多线程技术(SMT Symmetic Muti-Threading)则是指
单一物理处理器同时分发来自多与一个硬件线程上下文的指令,在特定的OS与特定的技术条件下,可以虚化为两个逻辑的CPU。
如IBM的很一个物理的POWER5 CPU,也就是一个CORE,在OS层面(AIX 5.3以上),将显示为两颗逻辑的CPU。

这种技术与硬件构架以及OS都是有关系的,如SMT只有POWER5才支持,而且也要特定的OS,如AIX5.3才支持。也就是说,POWER5上跑AIX5.2,都是不支持这样的技术的。
在这样的技术中,每个POWER5 CPU有两个硬件线程,SMT旨在利用POWER5处理器的超标量特性,以便同时执行多个指令。
它的基本理念是:没有一个单一应用可使像POWER5这样的超标量处理器达到完全饱和的状态,因此,部署同时提供输入的多个应用效果更理想。

按照这样的设想,SMT技术将在细小的OLTP应用中受益,例如高可用的OLTP数据库环境。
而大型的计算业务,例如浮点密集型的工作(耗费单个CPU很长时间,对浮点单元与内存带宽消耗比较大),是不适合使用SMT技术的。
当然,可以在OS级别决定是否打开SMT技术,这主要取决于这个技术是否为我们带来好处,单AIX 5.3默认就是打开SMT的。

3、虚拟化技术与分区技术
虚拟化是一个抽象层,他将物理硬件与操作系统分开,从而提供更高的IT资源利用率和灵活性。分区技术是虚拟化技术的一个重要体现,目前常用的分区虚拟化技术是---主机之下,硬件之上的虚拟化:
主机之下,硬件之上的虚拟化:
例如HP的电路板方式的硬分区,IBM的静态与动态分区(LPAR).在同一个物理主机上,可以把硬件
隔离成几个部分,每个部分运行不同的OS并且互相没有影响。更高级的主机内部虚拟化,例如动态
逻辑分区,可以实现资源在不同的分区之间的动态迁移。

4、高RAS特性
小型机与普通的服务器,也就是常说的PC-SERVER是有很大差别的,最重要的一点是小型机的
高RAS(高可靠性、高可用性、高服务型)特性,以前这是大型机的特性,现在也开始在小型机上实现了。

RAS=RELIABILITY+AVAILABILIT+SERVICEABLITY,它反映了计算机的高可靠性、高可用性、高服务型
三个特点。

具体的含义如下:
高可靠性,即计算机能够不停机的持续运转
高可用性,即重要资源都有备份,能够检测到潜在的问题,并且能够将正在运行的服务转移到其他资源上去,以减少停机时间,保持生产的持续运转;具有实时在线维护和延迟性维护功能。

高服务性,既能够实时在线诊断,精确定位出问题根本问题所在,做到准确无误的快速修复。
一般小型机都有自我配置、自我诊断、自我优化、自我保护的技术。有些小型机通过上万个故障
检测点,帮助用户定位错误根源.

关于小机和存储的关系设计的几个意见:
1.lv 的划分尽量跨RAID组。而不要在一个RAID组内做,这样可以更大的提高磁盘读写效率。
2.尽量不要使用普通文件系统方式来存储ORACLE数据库的数据文件,在大的IO系统上,特别是高可用
的OLTP环境上,采用裸设备可以大大提高数据库的性能,并保持性能持续稳定。
理由如下:
直接写设备文件,不通过OS级别的缓存,节约了内存使用。
提升了高强度IO写的速度,对于频繁读写的系统来说,裸设备可以提高读写的性能。
采用裸设备避免了文件系统的开销,比如维护I-node,空闲块,超级块等。
裸设备的异步io/并行io管理一般在内核级别上完成,比文件系统优越。
裸设备相对文件系统,有更少的BUG,而且更稳定。

小机、数据库、存储选型应该注意的几个事项(摘自ORACLE高可用环境-陈吉平)相关推荐

  1. 构建Oracle高可用环境HA rac:企业级高可用数据库架构、实战与经验总结

    1.1  理解Oracle数据库 1.2  Oracle高可用特性(High Availability) 1.3  搭建高可用的周边辅助环境 1.4  高可用应用设计 1.5  高可用数据库设计 1. ...

  2. oracle数据库的高可用r,Oracle高可用之dataguard

    Oracle高可用之dataguard DataGuard是一种数据库级别的HA方案,最主要功能是冗灾.数据保护.故障恢复等. 在生产数据库的"事务一致性"时,使用生产库的物理全备 ...

  3. ReportDB数据库存储选型分析

    SQLServer关于reportDB的存储选型做如下分析: 网络存储两大主要类型: 1.NAS 支持的文件传输协议:NFS(unix/linux文件共享).SMB(windows).samba(li ...

  4. oracle高可用培训,企业级Oracle数据库高可用性(OracleDataGuard)DBA培训视频全集

    课程内容: 价值180元,在这一系列的有关Data Guard 的视频培训中,讲学习Data Guard的理论知识,如何去搭建一个Data Guard 环境,如何去维护Data Guard 的环境,如 ...

  5. 阿里资深技术专家:优秀的数据库存储引擎应具备哪些能力?

    导读 本文作者是阿里巴巴OLTP数据库团队资深技术专家--曲山.作为自研高性能.低成本存储引擎X-Engine的负责人,曲山眼中的优秀关系型数据库存储引擎应该具备哪些能力呢? 正文 数据库内核按层次来 ...

  6. 一个项目中能提出哪些数据库优化_阿里资深技术专家曲山:优秀的数据库存储引擎应具备哪些能力?...

    云栖君导读:作为数据库的底盘,一个成熟的存储引擎如何实现高效数据存取?本文作者是阿里巴巴OLTP数据库团队资深技术专家--曲山.作为自研高性能.低成本存储引擎X-Engine的负责人,曲山眼中的优秀关 ...

  7. 国产数据库存储引擎X-Engine的科研之路

    X-Engine是阿里云RDS MySQL 的存储引擎之一,基于Log-structured Merge Tree (LSM-tree),较基于 B-tree 一族的其它存储引擎而言年轻很多,所以在实 ...

  8. 数据库高并发和高可用方案

    依旧主要参考沈剑大佬的多篇博文,以及数位网友的优秀分享,文末是完整参考. 1.高可用方案(HA,High Availability) 缓存是通过双写和双读主备.或者利用缓存的集群数据同步,故障自动转移 ...

  9. 数据库大数据量、高并发、高可用解决方案!

    数据库性能瓶颈 对于一些互联网项目来说,企业为节省成本,一般会考虑将所有的数据都存储在一个数据库中,这个时候我们只需要考虑数据库优化.SQL优化.数据缓存.限流,消息队列.服务器性能等问题. 阿里巴巴 ...

最新文章

  1. 深度学习多变量时间序列预测:GRU算法构建时间序列多变量模型预测交通流量+代码实战
  2. Google Latitude 能否成为所有移动社会网络的杀手?
  3. Hadoop运维记录系列(十二)
  4. 为什么要重写 hashcode 和 equals 方法?
  5. 写了个Python小工具,再也不怕孩子偷偷玩电脑游戏啦
  6. html如何做卷展菜单,3DMax“对象属性”卷展栏如何操作?有啥秘诀呢?
  7. 7 补充业务_哪些情况可以补充申报?金关账册报核要申报哪些数据?
  8. 处理移动端pdf展示问题
  9. 不再遥不可及!盘点独角兽自动驾驶战略
  10. RIA之家精华教程和资源集合
  11. php自动加载原理,php中的自动加载类机制原理
  12. 关于 Safari 浏览器不支持 location [ window.location.href window.open()] 跳转问题的解决方案
  13. HDU1754 I Hate It(树状数组 or 线段树)
  14. CSS3 Transform——transform-origin
  15. Java之父评价C语言之父,Java之父评价C语言之父:C语言撑起了一切
  16. Latex 中的算法流程介绍,含中文和矩阵公式段落整体居中内部左对齐
  17. 马哥Linux命令大全
  18. 安卓版微信自带浏览器和IE6浏览器ajax请求abort错误处理
  19. 亚利桑那州立大学计算机专业,亚利桑那州立大学计算机专业排名
  20. 【经验分享】基于创龙AM5708多核间通信的IPC例程通用开发流程

热门文章

  1. Golang Test
  2. [PAT-A 1069]The Black Hole of Numbers
  3. 2022年茶艺师(初级)上岗证题库及答案
  4. Google Earth Engine ——GCOM-C 进行长期和持续的陆地地表温度数据集(JAXA/GCOM-C/L3/LAND/LAI/V2)
  5. python文件换行符_python3 读写文件换行符的方法
  6. Android小例子--实现微信界面
  7. 图片c sa vsacas
  8. ALA创世发行!蝰蛇实验室开启全球数据战略布局
  9. 自动化专业中的c语言案例分析,案例教学法论文,关于案例教学法在《c语言程序设计》课程中的应用相关参考文献资料-免费论文范文...
  10. 计算机室规章制度英语作文,书面表达 英语作文 80字你的学校新建了一个阅览室,学校要制定一些阅览室的规章制度,根据下列提示写一篇英语作文 告诉同学...