长期以来,数据都是一种蕴含着价值的商品,不论是在企业内部环境中部署,抑或是放到公有云端去实现,它 都是IT系统的核心所在。自上世纪50年代,磁带和磁盘发明后,我们便产生了在存储介质上持久存放数据的需要。

当然,这种持续的数据存储是要付出代价的。不论是磁盘、磁带或是闪存,存储设备的速度都无法赶上处理器和内存系统的发展。于是,为了得到良好的整体存储性能,我们必须不断尝试各种方式,使得存储介质运转得更快。

我们在外部存储介质中保留数据通常只有两种原因:长期存储和数据保护。

长期存储意味着在应用程序关闭或服务器断电后数据仍然能得以保留。数据无法长期驻留于系统内存(DRAM),所以当服务器或应用程序发生故障时,数据每隔一段时间就要写入到相应的介质之中。

数据保护亦是至关重要的,服务器有时会出现故障,甚至发生一些意想不到的事故灾害,如果不在多个存储介质上创建冗余,保留多个数据副本,我们很容易会遇到麻烦。数据保护机制包含RAID、纠删码和快照等,它们可以用来保护数据免遭物理和逻辑损坏,以及常见的“使用者操作失误”。

存储的性能指标

存储性能的评估通常使用这三种指标。

延迟:用以衡量设备的响应时间。系统内存的延迟通常以纳秒(ns)为单位、闪存以微秒(µs)计,而硬盘驱动器的单位则用毫秒 (ms)。

带宽:表示设备在特定时间段内传输数据的能力,通常以每秒兆比特(Mbps)或每秒千兆比特(Gbps)为单位。

吞吐量:代表了设备传输数据的实际能力,通常以每秒兆字节(MBps)或每秒千兆字节(GBps)为单位。

虽然看似类同,但带宽与吞吐量却有着本质上的差别。例如,硬盘驱动器(HDD)和固态驱动器(SSD)接口的***带宽相同,但其输入/输出(I / O)顺序或随机、读或写的数据吞吐量却有着天壤之别。

在理想环境中,所有的数据都将存储在系统内存之中,以最快的性能提供访问,但系统内存代价不菲且容易丢失,服务器内又只能配置有限的容量。大多数应用程序不需要一直访问所有的数据,考虑到成本因素,我们访问这些数据的频繁程度和所要求的速度决定了数据最适合的存储位置。

那么,如何才能充分利用存储资源呢?我们可以怎样调优,才能以***的成本赢得***性能?

存储介质性能的比较

在深入探讨之前,我们先来看下可供企业选择的各种存储介质的层次结构。

DRAM:是在性能和延迟方面都表现***的存储介质,缺点是所存储的内容并不稳定。DRAM容量扩容并不容易,而且不能在多台服务器之间轻松共享。DRAM可以按字节寻址。

NVDIMM:使用和DIMM相同的外形尺寸,可以像DRAM那样非常快速,并且在断电时可以借助闪存或其它技术来保留内容。其在速度上略逊于DRAM,也有类似的访问性和扩展性问题。NVDIMM通常以字节寻址。

闪存:非常快速的持久存储介质,并具有良好的可扩展性,可作为单台服务器或是存储阵列的组成部分。它比DRAM便宜很多,并按数据块寻址。根据不同价格、性能、成本可以区分出不同的闪存类型,如MLC、TLC等。

硬盘驱动器:一种相对较慢的,用以长期存储数据的介质,现在更多用于归档和备份数据的存放。硬盘驱动器同样是数据块寻址的。

上述这些介质均可单独或混合使用,从而实现了一系列不同存储性能的方案。

服务器内部的存储介质选择

存储可以直接部署在服务器内部,尽可能靠近中央处理器,缩短数据的I/O路径,从而减少延迟。

闪存则必硬盘具有更高的性能水平。根据访问数据的性能需求,可以组合使用不同闪存/硬盘驱动器容量配比的方案,从而在成本和性能之间达成平衡。闪存与系统内存可以用作高速缓存来存放活跃的数据,而同时将相对静止的数据存储到硬盘驱动器上。

这其中涉及到***率的问题,即活跃数据都存储在缓存中,根据***率可以推测出I/O性能。如果数据需要从硬盘驱动器而非缓存中读取,那么其访问请求的性能将受到影响。一种方案是将廉价和昂贵的不同闪存类型混合使用,从而实现适合的方案性价比。

服务器中存储的另一项考虑因素是要防止设备故障。假如驱动器发生故障,那么服务器可能要完全宕机才能更换部件,除非该设备支持热插拔。假如服务器发生故障,内部设备上的数据都将无法访问,因此我们需要复制数据。这取决于将一组服务器连接起来的网络的速度,给I/O增加了额外的延迟。

考量存储阵列的性能

共享存储阵列为数据带来了更高的可用性和更好的可访问性,不过由于需要遍历以太网或光纤通道的存储网络,这可能会造成延迟。

目前一些新产品正在上市,提供不同的连接选项(如RDMA,RoCE和NVMe)等解决方案。相比传统的存储网络,这些新技术虽然扩展性较差,但显著降低了延迟。

存储阵列亦可以通过选择不同的存储介质来改善性能。

DRAM缓存能够改进读写性能,而混合系统中的闪存与磁盘驱动器则能实现***的方案性价比。

同时,与上文中讨论的“缓存未***”问题的风险相比,全闪存系统能够确保所有数据的I / O性能与延迟。

闪存技术的应用引发了一系列技术的产生,已经不在局限于单纯地提高吞吐量、解决延迟。通常来说,用越多的内存和闪存来取代磁盘,我们就能得到越好的存储性能。

存储网络的性能

当使用外部存储阵列时,我们可以通过调整存储网络以提高整体系统的性能。

***的主机总线适配器(HBA)带来了非常高的带宽(32Gbps光纤通道、40Gbps和100Gbps以太网),而网络交换机则实现了很低的延迟。通常来说,更快的单个设备都会促使整体系统的性能得以更好地发挥,尽管不断升级交换机的成本或许是不容小觑的。通过添加更多的前端连接(额外的HBA),我们可以将工作负载扩展分配到更多的连接之上,从而提高对存储阵列的吞吐量。

另有一些其它的技术同样可以改善性能:

负载均衡:这项技术能够在尽可能多的设备上平衡资源的利用率。这意味着你可以将数据扩展分布到多块磁盘(闪存或硬盘驱动器),并充分利用所有连接,能够在服务器和存储阵列之间实现宽条带化技术。

负载优化:访问活跃数据会产生较重的工作负载,可以将其迁移到更快速的设备上,例如闪存,由于闪存代价不菲,因此需要尽可能使用在最需要的地方。假如可以克服服务器可用性的问题,那么NVDIMM的应用或许可以大大提高某些工作负载的性能。

缓存:我们已经探讨过存储阵列和服务器上的缓存,其亦可以跨设备使用,即在服务器上使用DRAM和闪存,对来自外部存储的I / O进行缓存,这在读取操作上没有限制,而写出操作则要求一定的弹性以防止数据丢失。

存储网络调优:在更为复杂的存储网络中,共享存储端口和交换机之间的链路或许会变成瓶颈,需要检查队列深度和缓冲区信用阀值等设置,或者利用网络自带的拓扑技术进行优化。

通过上述讨论,我们不难看出:改善性能的前提是具备适合的度量方式。如果缺乏合适的度量工具,量化性能问题、判断问题是否得以解决便无从谈起。

所有存储供应商都会提供衡量其产品性能的工具,甚至还能实现端到端的性能测试,显示出存储对整体应用系统性能的影响。通过这些工具,你还可以看出当前实时的性能和历史的性能数值——这对于持续改进存储系统性能而言亦是至关重要的。

【编辑推荐】

【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0

性能服务器阵列,存储性能101:服务器、阵列与网络架构基础相关推荐

  1. 云服务器及其存储性能测试方法

    1.整体性能 做任何的业务计算都需要占用大量CPU的运算能力,比如直播等视频编解码等,业务高峰期CPU的利用率经常会达到90%以上. 测试工具:我们选择了评测工具SPEC CPU.SPEC CPU是标 ...

  2. 虚拟化服务器和存储关系,虚拟化服务器和云存储的对比

    虚拟化服务器和云存储的对比 内容精选 换一换 开源KVM虚拟化解决方案应用于线下虚拟化场景,包括单机.双机HA和多机集群,通过虚拟机迁移和HA确保业务可靠性,典型应用包括数据库.WEB和缓存服务器等. ...

  3. 华硕nas搭建网站服务器,NAS存储搭建网站服务器

    有工作或生活中接触网站的朋友都知道,网站是通过服务器存储网站的源代码文件,然后通过域名与服务器连接,最终用户就可以通过域名访问网站了.看到这里不禁脑洞大开,既然网站服务器主要也就是起到一个存储源代码文 ...

  4. 存储和虚拟化服务器的对接,储存虚拟化

    储存虚拟化,也称存储虚拟化,是指将具体的存储设备或存储系统同服务器操作系统分隔开来,为存储用户提供统一的虚拟存储池.它是具体存储设备或存储系统的抽象,展示给用户一个逻辑视图,同时将应用程序和用户所需要 ...

  5. 服务器和应用服务器迁移方案,服务器和应用统迁移方案.doc

    服务器和应用统迁移方案 服务器和应用系统迁移方案 一.迁移方案总体思路 新旧系统的迁移是一个整体系统工程.迁移必须保证用户系统建设的相关要求,在迁移过程中,我们需要重点考虑几个问题: 1.数据迁移如何 ...

  6. 浪潮服务器自研芯片,浪潮服务器承载武胜教育信息化平台

    关键词:浪潮服务器.教学平台.资源共享 导语:大力发展互联网+教育,促进优质教育资源共享,是实现教育现代化的重要思想,特别是对于相对偏远的区县,教育信息化发展仍处在单一业务信息系统的建设发展阶段,一些 ...

  7. 去中心化云存储技术 | CESS 的多层网络架构详解

    区块链以其特有的分布式算法和技术底层,让链上数据也随着区块链的不同实现了分布式存储,CESS(Cumulus Encrypted Storage System)去中心化云储存网络基础设施,让我们看到了 ...

  8. 明明是全闪存阵列,为何存储性能仍然不够快

    [51CTO.com原创稿件]软件定义基础架构,软件定义存储,软件定义存储.目前,用软件定义超融合的方式替代专用服务器.专用网络.专用存储设备等传统基础架构的方法,已经成为了行业的热点.英特尔系统架构 ...

  9. 出色性能服务器,浪潮服务器:演绎出色传输与存储性能

    第一页 近日,浪潮针对音视频行业用户的应用特点发布两款具有出色传输性能的海量存储服务器--浪潮英信AS500M及AS200M.产品一经推出,便获得市场的积极反馈,如今已经在国内某知名网络视频企业大规模 ...

最新文章

  1. “计算机艺术之父”、现代计算机技术先驱查理斯·苏黎去世,享年99岁
  2. VTK修炼之道66:体绘制裁剪_Cripping技术
  3. 【多线程高并发】深入浅出JMM-Java线程内存模型
  4. Python——制作深度学习数据集批量重命名图片文件名解决方案
  5. 集合中的遍历以及删除元素
  6. 剑指offer:二叉树中和为某一值的路径
  7. 看printk引发的一点思考
  8. P2388 阶乘之乘
  9. K8S+Harbor+gluster+haproxy 实践加坑
  10. inno setup读取XML文件
  11. 短文本合并重复(去重)的简单有效做法
  12. oracle not in 改为 not exist
  13. 空间数据库学习笔记(四):空间引用标识符(SRID)
  14. 中国AR镜片市场现状研究分析与发展前景预测报告(2022)
  15. CTF-密码学-培根密码
  16. 近年来小学计算机课程目录,小学3-6年级信息技术课程目录(苗逢春版)
  17. 【信号与系统】拉普拉斯变换
  18. startx 命令_通过startx从命令行启动KDE
  19. 有效沟通bic法则_南宁人际沟通培训
  20. 微信小程序 - 在自定义组件中请求后端 API 数据接口(引入该组件的页面触发)组件在哪个生命周期钩子函数中请求接口数据呢?

热门文章

  1. C++ 串口通信程序
  2. MATLAB颜色映像
  3. win10自动修复失败无限循环_windows自动修复失败,无法启动
  4. 繁花盛开的夏天读后感
  5. then 微信小程序_微信小程序异步处理
  6. matlab三点求法向量,matlab求法向量
  7. 3d打印技术与计算机,讲述3D打印技术是如何实现打印的,与普通的打印有何不同...
  8. 电商实时交易风控系统
  9. 《linux内核中断》之 法外狂徒张三删库跑路
  10. Android获取电子签名内容,Android Studio 获取app签名