提升数据存储性能,主要有哪几种方法?

有些方面不管做得有多好,还是永远嫌不够好,数据存储性能就是其中一个方面。一旦有了更多的带宽、更好的输入/输出或更快的处理器,应用程序立即想方设法使用所有资源,然后它们想要更多的资源。

话虽如此,还是有几种巧妙的方法可以从存储投入获得更高的回报。

StorageIO集团的分析师格雷格·舒尔茨(Greg Schulz)说:“有许多不同的方法可以提升存储性能,包括改用一种不同的存储平台(DataCore之类的硬件或软件定义平台),或者充分利用Diskeeper之类的存储优化工具。”

并行化输入/输出

SQL之类的联机事务数据库无力提供足够快的响应速度,无法跟上查询或订单数量经常猛增,这种情况并非罕见。有时系统变得如此慢腾腾,以至于用户决定另找办法,以满足其业务要求。不过服务器似乎配备了足够的处理器和内存,另外还配备了足够的网络和存储资源来满足需求。

从种种症状来看,许多企业组织在考虑把数据库分成在不同机器上运行的多个实例,竭力缩短服务器里面的长队列。然而,这不仅难以执行,还是一种成本高昂的提升存储系统的方法。

DataCore公司的并行化输入/输出技术另辟蹊径,用不同的方法来解决数据库延迟问题。它不是像原生操作系统和虚拟机管理程序那样以串行方式处理输入/输出请求,而是使用多核服务器的几个逻辑处理器,在并行队列中处理多个输入/输出请求。那些并行请求被缓存在服务器内存中,并经过调度,以最佳的有效载荷大小来存储。

DataCore软件公司的产品营销主管奥吉·冈萨雷斯(Augie Gonzalez)说:“DataCore超融合虚拟SAN采用的技术实际上大幅缩短了响应时间,使用服务器所有速度最快的硬件资源,没必要殃及额外服务器。”

预防碎片

我们都见过Windows服务器的性能逐渐变慢这一幕。不管你做什么,由于Windows操作系统的架构,打开一些文件很费时间;而系统使用时间越久,操作系统的运行速度会变得越慢。你越是添加软件和大量存储资源,机器运行状况就越糟糕。

传统的解决办法就是对硬盘进行碎片整理。但是这在全天候不间断运行的环境下行不通,因为在关键任务型存储环境里面运行的许多生产服务器停不下来。

Condusiv推出的最新版Diskeeper可破解这种困局。可能让人吃惊的是,它不再进行碎片整理。相反,青睐的方法是碎片预防技术。新方法是在数据被写入到服务器之前,就预防碎片,而不是一旦某个卷因Windows写入数据的方式而被分成数千个片段,从而获得并合并这些片段。

Condusiv的产品营销经理布赖恩·莫林(Brian Morin)说:“IT管理员可以使用Diskeeper,立即提升在物理服务器上运行的关键应用程序(比如微软SQL)的性能。它通过碎片预防引擎,保持系统在最佳状态下运行。该引擎可以确保让Windows实现庞大、干净、连续的数据写入,因而消除了抬高IOPS、窃取吞吐量的微小数据写入。”

智能缓存

Diskeeper内置的另一项新功能采用了全然不同的方法来提升存储性能。在微软SQL基准测试中,其DRAM缓存功能据说将工作负载的性能最多提升到了6C,跨数百台服务器将延迟时间平均缩短了40%。这是通过使用闲置DRAM来动态缓存频繁读取的数据来做到的,也就是说把闲置DRAM充分利用起来,满足频繁请求的读取操作,又没有争夺内存或资源耗尽的情况。

莫林说:“Diskeeper的智能缓存不仅延长了固态硬盘的寿命,还大幅提升了固态硬盘的写入速度。它还解决了性能极糟糕的物理服务器的问题,给它们带来了全新的性能。”

性能故障排查

应用程序的性能突然急剧下降。于是紧急开会,以确定根源。软件专业人员怪罪存储团队,存储团队怪罪网络,而网络专家坚持认为,服务器瓶颈才是真正的根源。那么谁的说法才是对的呢?

TeamQuest公司的产品和战略高级主管迪诺·巴拉法斯(Dino Balafas)说:“当服务器团队和存储团队致力于解决输入/输出性能方面的问题时,往往会出现相互推诿。”

TeamQuest的Vityl Adviser应用软件用户使用多个手段来解决与存储有关的性能问题,这些问题常常出现在服务层面。它收集服务器和存储度量指标,并利用算法来确定系统和存储输入/输出的运行状况,另外可以针对未来问题自动建模。分析技术被用来确定系统磁盘输入/输出的运行状况,为此分析输入/输出利用率、磁盘速度、输入/输出密度和输入/输出速率,以检测存储性能低下的根源。

巴拉法斯说:“这让分析员得以深入了解共享式存储,从而确定问题是由服务器引起的,还是由存储引起的。”

并行NAS

传统的横向扩展NAS的性能在过去五年间已翻番,而在高性能工作流程下生成和处理的数据量可能增加了数万倍。比如在基因组领域,单单一个测序仪生成的数据其增长速度就比传统NAS性能快250倍。

你会想,添加大量的闪存也许可以解决问题。但是这其实行不通,因为核心架构无法灵活扩展,以便充分利用闪存;如果服务于添加上去的每个新节点、客户或每款软件提出的每个请求,系统会不堪重负。此外,传统的横向扩展NAS通常在固定硬件节点上回复,限制了扩展性能还是容量这一选择,它无法有效地利用存储空间,而且面临传统网络协议带来的瓶颈。

要解决这个问题,一个办法就是实施并行文件系统解决方案,比如DDN GRIDScaler。它可以从4U和几百TB开始,扩展到2个机架、超过17PB。

DDN公司的垂直市场高级主管劳拉·谢泼德(Laura Shepard)说:“DDN GRIDScaler建立在一种并行文件系统架构上,该架构通过高性能客户机,对海量数据提供了一致的低延迟访问。”

提升虚拟化存储性能

据IDC公司声称,到2020年,数字宇宙有可能迅速扩大到44泽字节(ZB)。这种数据大爆炸不仅需要新的服务,还进一步证实了公司需要优化存储基础设施和功能。为了最大限度地发掘虚拟化基础设施的性能,企业组织需要评估、了解和优化存储管理。

SVA软件公司的BVQ存储优化解决方案专注于通过可视化和热图分析,克服存储虚拟化方面的挑战。它不断收集数据,用于按需分析和计划分析、提醒注意潜在问题,并有助于满足服务级别协议(SLA)。尤其是,BVQ提供了深度可见性,以便用户深入了解IBM虚拟化基础设施的性能、利用率和运行状况。成本优化功能让用户得以以低成本提高存储性能。

SVA软件公司的营销副总裁唐·米德(Don Mead):“BVQ是一款综合的性能、容量监控和分析软件,面向IBM的Spectrum Virtualize系列,包括IBM SVC、IBM FlashSystems、IBM Storwize和VersaStack,并支持所有现有和新的异构存储。”
人工智能、大数据、云计算和物联网的未来发展值得重视,均为前沿产业,有兴趣的朋友,可以查阅多智时代,在此为你推荐几篇优质好文:
大数据工程师培训,需要学习的有哪些课程?
http://www.duozhishidai.com/article-15081-1.html
大数据工程师就业培训哪个好?
http://www.duozhishidai.com/article-15082-1.html
java大数据与python大数据如何选择?
http://www.duozhishidai.com/article-12540-1.html


多智时代-人工智能大数据学习入门网站|人工智能、大数据、物联网云计算的学习交流网站

多智时代-人工智能大数据学习入门网站|人工智能、大数据、云计算、物联网的学习服务的好平台
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
存储过程的安全及性能优化 存储过程分类  系统存储过程  自定义存储过程  SQL Server使用者编写的存储过程  扩展存储过程  动态链接库(DLL)函数的调用看,主要用于客户端和服务器端之间进行通信  exec master..xp_cmdshell 'dir *.exe' -- 执行目录命令查询[sql2005\sql2008]  exec master..xp_fixeddrives --列出硬盘分区各自可用空间  xp_regwrite根键,子键,值名,值类型,值【sql2008拒绝访问】  写入注册表,例如:  exec master..db.xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\run','TestValueName','reg_sz','hello'  xp_regdeletevalue 根键,子键,值名【sql2008拒绝访问】  删除注册表某个值  xp_regdeletekey键,值【sql2008拒绝访问】  删除该键下包括的所有值 xp_cmdshell语法  xp_cmdshell {'command_string'} [,no_output]  command_string是在操作系统命令行解释器上执行的命令字符串。command_string数据类型为varchar(255)或者nvarchar(4000),没有默认值  no_output为可选参数,可以控制是否想客户端返回信息  该存储过程一般情况下被禁用的,需要手动开启使用,如下:  exec sp_configure 'show advanced options',1  go   reconfigure  go   exec sp_configure 'xp_cmdshell',1—1表示启用,0表示禁用  go   reconfigure  go 删除xp_cmdshell SQL SERVER200删除xp_cmdshell use master exec sp_dropextendedproc 'xp_cmdshell' go SQL SERVER2005以上禁用xp_cmdshell,但不能删除掉 exec sp_configure 'xp_cmdshell',0 —1表示启用,0表示禁用  go reconfigure --让sp_configurre立即生效  go  exec sp_configure 'show advanced options',0  go   reconfigure  go --注意:SQL SERVER2008考虑安全性很多存储过程直接被拒绝访问 恢复/启用扩展存储过程 SQLServer2000 use master exec sp_addextendedproc xp_cmdshell,'xplog70.dll' go SQL Server2005或SQL Server2008启用xp_cmdshell  exec sp_configure 'show advanced options',1  go   reconfigure  go   exec sp_configure 'xp_cmdshell',1—1表示启用,0表示禁用  go   reconfigure  go 扩展存储过程的定义  扩展存储过程是SQL Server中的另一类存储过程,它是以其它语言编写的外部程序,是以动态链接库(DLL)形式存储在服务器上,最终SQLServer就可以动态加载并执行它们  编写好后使用SQLServer的固定角色sysadmin注册该扩展存储过程,并将执行权限授予其它用户,这个扩展存储过程只能添加到master数据库。  在编写扩展存储过程中可能要用到某些系统存储过程,这些系统存储过程如下: 利用OLE自动化存储过程调用dll 1.创建类库程序集 namespace PB_ExtendProcedure { public class ExtendProcedure { public string SayHi() { return "hello world"; } } } 2.生成动态链接库并注册到系统中 2.1.生成动态链接库使用VS2010命令行工具 使用sn命令生成一个强命名文件: sn -k he
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值