突破Informix固态磁盘I/O瓶颈

至今为止,我在固态硬盘 (SSD) 上成功运行主 Informix 开发数据库服务器的时间已经超过一年。我的开发服务器配备 12 枚 CPU 内核、24 GB 的 RAM、5 TB 磁盘空间和一块 512 GB 的固态硬盘。我使用这台服务器开发了 Informix 数据仓库项目,并对 OLTP 版本执行了基准测试。去年购买这台服务器之后,我开始尝试使用 SSD。我将主 Informix 数据库空间从一对镜像的磁盘驱动器迁移到了 SSD。我对两个 Informix 服务器都执行了测试:一个是 11.50 版本,另一个是 11.70 版本。两个版本在 SSD 上运行时的速度都有所提升。我使用了到数据库空间的链接,因此可以将空间在常规磁盘驱动器与 SSD 之间来回复制、重置链接并启动服务器,以便测试性能。SSD 的性能要好得多,我完全不希望再回头使用旧的磁盘驱动器。SSD 的稳定性非常出色,所以我推荐对关键生产系统使用 SSD。

多年以来,磁盘驱动器一直是数据库性能瓶颈。磁盘空间越来越大,人们不断在其中存储越来越多的数据,但磁盘驱动器的速度并没有提升。随着磁盘中数据量的增加,吞吐量也成为严重问题。典型情况下,加速磁盘 I/O 的最好方法就是将数据分布到多块磁盘驱动器上,在每个磁盘中都存储较少的数据库。SSD 改变了一切,我认为磁盘驱动器将来会像磁带驱动器一样走向没落。所有人都会在 SSD 上运行程序,磁盘驱动器将仅用作备份介质。在笔记本电脑、台式机和服务器数列中,SSD 的出现频率越来越高。

混合磁盘系统是一种有趣的发明,它将 SSD 与传统硬盘结合使用。部分供应商提供的数列将 SSD 作为一批传统磁盘驱动器的智能缓存。其思路在于,将所有数据页面都存储在传统磁盘驱动器中,而最常用的数据页面则缓存在 SSD 中。我的一位客户使用此类数列获得了极大的成功,实现了显著的性能提升。其他混合趋势包括将 SSD 直接与大容量磁盘驱动器配对,将它们作为磁盘缓存。Seagate 和 OCZ 均推出了混合式磁盘驱动器或磁盘卡。虽然混合的方法能提高性能,但不如纯 SSD 速度快。我认为这只是一些临时措施,最终 SSD 的成本将降低,性价比也将提高。随着 SSD 产量的增加,成本的降低,混合方法将不再必要。

设置基准测试

为了撰写这篇文章,我决定从头开始,执行基准测试来测量 SSD 能提供的性能改进。我想执行压力测试,测量顺序读取、批量顺序读取和随机读取与写入的性能。我重新安装了最新版本的 Informix 11.70 FC4,用全新的安装和脚本从头开始制作我的 Informix 环境。每次测试都使用相同的 ONCONFIG 文件,我通过更改 Informix 磁盘空间的链接在传统磁盘驱动器与 SSD 之间切换。我使用的传统磁盘驱动器是当今大多数生产系统中常见的高速镜像对。图 1 的表格中显示了结果。

基准测试 镜像磁盘设备 SSD 磁盘设备 提高的百分比 1. 配置 Dbspace 和日志 47 分钟 24.986 秒 30 分钟 38.419 秒 64.60 2. 导入数据库 82 分钟 18.984 秒 67 分钟 40.300 秒 82.20 3. 基准测试 2:批量计费作业 3 分钟 21.258 秒 2 分钟 35.227 秒 77.11 4. 基准测试 4:具有 1,000 个用户的 OLTP 5,272 tpmC 116,849 tpmC 2,216.41 5. 数据仓库查询基准测试 4 小时 19 分钟 3 小时 14 分钟 74.90 平均总体提高     503.05

图 1:SSD 与 磁盘驱动器基准测试结果对比

下面介绍了各基准测试的测试任务。

1. 配置 Dbspace 和日志 第一项测试测量创建所有 dbspace 和所有逻辑日志花费的时间,并将物理日志移动到独立的 dbspace 中,然后重建基准测试环境。将 Informix 设置为执行直接 I/O,并在两项测试中使用成熟的文件。过去,我直接在 SSD 与传统磁盘驱动器之间复制 dbspace;这次测试在两个系统中重建了整个环境。

2. 导入数据库 下一项任务是执行各配置中使用的各数据库的 dbimport。该任务将对驱动器的写入性能执行压力测试。

3. 基准测试 2:批量计费作业 2009 年,IIUG Informix User Conference 的 Fastest DBA 大赛中执行的就是这项基准测试——过去,我曾在文章中介绍过这一基准测试。测试的目标是磁盘 I/O,因此我并未优化 SQL 来减少读写数量。

4. 基准测试 4:具有 1,000 个用户的 OLTP 这是 2011 IIUG Informix User Conference 的 Fastest Informix DBA 大赛中使用的基准测试。Advanced DataTools 为大赛提供赞助,寻找和奖励速度最快的 Informix DBA。此次大赛是过去三届 Informix 会议中最有趣的活动之一。 测试使用 Open Source BenchmarkSQL Java 程序,生成了 1,000 个会话,对一个 Informix 数据库执行插入、更新和删除操作。Open Source BenchmarkSQL 是一项 JDBC 基准测试,与 TPC-C 的 OLTP 标准极其接近。在大赛中,参赛者需要处理运行 1,000 个 OLTP 用户的 Informix 服务器,在一个小时内对其进行优化,然后评选出谁能实现最高的每分钟事务处理量。由于这属于执行读取和写入操作的随机 I/O 测试,因此会对磁盘驱动器的随机 I/O 功能进行压力测试。SSD 在这次测试中表现最佳,每分钟执行的事务处理量是传统磁盘驱动器的 2,216%。

5. 数据仓库查询基准测试 这是我开发的一个新基准测试,用于测试数据仓库性能。SSD 容量最高为 512 GB,因此我使用一个较小的数据库,运行了 18 个复杂的数据仓库查询。大多数查询需要对一个事实表进行顺序扫描,以获得相关结果,因此可以通过该操作对驱动器的读取访问进行压力测试。

关键考虑事项

在将 Informix dbspace 迁移到 SSD 的过程中,您还需要考虑可能存在磁盘 I/O 瓶颈的其他方面。在数据仓库基准测试中,我初次迁移到 SSD 时并未如期获得出色的性能。受磁盘 I/O 性能影响的另外两个因素是查询报告的临时排序空间和输出空间。将报告的临时空间和输出空间迁移到 SSD 之后,性能获益非常明显。实际上,将 Informix temp dbspace 迁移到 SSD 或许是利用这项新技术的最快方法,同时还能保证不需要重新配置整个服务器。

我与其他管理大型图像处理系统(例如影片制作)的管理员讨论了 SSD 技术。这些系统需要接近实时地访问庞大的图像文件。这些管理员已经成功构建了包含 6 到 8 块 SSD 的 RAID-10 数列。根据他们的报告,RAID-10 的数据镜像与条带化能够提高安全性,还能提高 SSD 原本已经非常出众的性能。我非常希望使用 Informix 数据库亲身体验一下这样的改进。

有关 SSD 的担忧之一就是其作为新技术的可靠性。对我来说,一块 SSD 使用了整整一年,而且完全没有出现过任何问题。而在相同的时间段内,我的三块普通硬盘都发生了故障。任何介质都必然会发生故障,因此最好始终计划备份解决方案。所有磁盘驱动器都需要定期备份。如果我使用 SSD 设计一个新的生产级 Informix 数据库服务器,我会在常规磁盘驱动器上创建一个 Informix 高可用性远程辅助服务器 (RSS) 作为备用系统。这是任何生产数据库服务器的最佳实践。

结束语

在所有数据库中,SSD 都能更快地完成 Informix 数据库任务。在顺序扫描、随机 I/O 和读取与写入中,SSD 的表现始终遥遥领先。SSD 极大地提升了 OLTP 随机磁盘 I/O 基准测试的性能。图 1 中的数字能证明一切。一言以蔽之,提高 Informix 数据库服务器速度最便捷的方法就是将 dbspaces 迁移到 SSD 中。Informix 在 SSD 上的运行表现良好。

时间: 2024-10-03 22:38:44

突破Informix固态磁盘I/O瓶颈的相关文章

固态磁盘性能发展之现状

固态闪存已经被广泛应用于许多主流产品内,因此厂商目前已经将他们的目光转向了闪存在吞吐量与耐用性方面的表现.你可以透过他们在这些领域的创新找到背后所隐藏的问题. 固态磁盘缓存技术早已成熟,不再有当初新上市时候的光鲜,而成为一种必备的功能.因此,当前绝大多数技术围绕着如何改进固态磁盘的性能与可靠性. 早些时候,固态磁盘缓存通常以单块磁盘的形式使用.随着技术的日益成熟,厂商开始用多块固态磁盘来提升其性能并防止数据丢失. 数年之前,闪存存储常常被认为一种低可靠性的方案,因为其中的每个单元最终都会磨损耗尽

如何突破PHP程序员的技术瓶颈分析_php文摘

先明确我所指的PHP工程题,是指毕业工作后,主要以PHP进行WEB系统的开发,没有使用其的语言工作过.工作经验大概在3~4年,普通的WEB系统(百万级访问,千成级数据以内或业务逻辑不是特别复杂)开发起基本得心应手,没有什么问题.但他们会这样的物点: 除了PHP不使用其它的语言,可能会点shell 脚本. 对PHP的掌握不精(很多PHP手册都没有看完,库除外) 知识面比较窄(面对需求,除开使用PHP和mysql ,不知道其它的解决办法) PHP代码以过程为主,认为面向对象的实现太绕,看不懂 这些P

突破地方门户网站内容建设瓶颈 借力打力是关键

中介交易 SEO诊断 淘宝客 云主机 技术大厅 现如今地方门户的建设越来越趋向于团队化运营了,那种单打独斗的时代,几乎已经过去,因为地方门户的运营难点,主要还是在于网站的内容建设上,其网站的建设和优化,几乎都是千遍一律,只有内容要结合当地的特征,所以地方门户的内容建设一直是站长们必须要面临的瓶颈!无论是对团队运营还是个人经营都是如此! 不过团队运营地方门户网站而言,会有一定的优势,最起码能够创作一些高质量的内容,也能够根据自己的信息源采集一些当地的及时的新闻资源,而对于个人网站来运营的话,网站的

打造品牌突破网站发展瓶颈

作者牧云笙:12年专业网民,从事网站制作与运营工作三载有余,自封为其网站CEO.做站各方面均一知半解,学得广而不精.此前乃一名冷眼看客,观察着互联网上的风起云涌.一路上遇到不少各方面需要帮助的站长朋友,也遇到不少帮助过自己的站长朋友,遂试图以其不入流的一己之力帮助更多需要帮助的草根站长朋友. 九六年到零八年,这十二年来,牧云笙看到一批批优秀的网站,随便时间的流逝规模越做越小最终死掉.原因就是它们没有突破迅速发展后出现的瓶颈.今天,小牧就跟大家谈谈大网站面对发展瓶颈时的突破方法--品牌营销策略.

U.2和M.2接口固态硬盘区别对比

  U.2接口 U.2接口别称SFF-8639,是由固态硬盘形态工作组织(SSD Form Factor Work Group)推出的接口规范.U.2不但能支持SATA-Express规范,还能兼容SAS.SATA等规范.因此大家可以把它当做是四通道版本的SATA-Express接口,它的理论带宽已经达到了32Gbps,与M.2接口毫无差别. U.2接口固态硬盘与数据线 主板上的U.2接口 在今年的台北电脑展上,SF-8639接口将正式改名为U.2接口,跟目前的M.2接口对应起来了,因此U.2接

数据的存储介质-固态存储SSD

按照章节目录,本周的主题是SSD.在外面,介绍SSD的文章非常之多,在我的文章里面就不重复其他地方介绍过的知识了.赶在睡觉时间之前发出来,希望大家能够轻轻松松了解点知识,然后合眼睡觉~ 在本篇文章中,我想着重的分析以下几个问题: 1.       在不同厂商的实现中,SSD的读写iops为什么会有如此之大的差距? 2.       SSD的优势在于没有寻道时间了,为什么4K随机写还会是个性能大瓶颈? 3.       FLASH控制器,看来成败就看他了!把他扔在那里最合适呢? 在不同厂商的实现中

固态硬盘(SSD)闯入存储阵列

SSD(solid state disk)固态硬盘 目前的硬盘(ATA 或 SATA)都是磁碟型的,数据就储存在磁碟扇区里,固态硬盘数据就储存在芯片里.SSD由控制单元和存储单元(FLASH芯片)组成,简单的说就是用固态电子存储芯片阵列而制成的硬盘.由于固态硬盘没有普通硬盘的旋转介质,因而抗震性极佳,同时工作温度很宽.广泛应用于军事.车载.工控.视频监控.网络监控.网络终端.电力.医疗.航空等.导航设备等领域. 基于非永久性存储器 由非永久性存储器制成的固态硬盘主要用于临时性存储.因为这类存储器

方便海量数据访问 华为发布固态硬盘服务器

[天极网服务器频道3月20日消息]华为宣布联合英特尔公司推出全固态硬盘(SSD)服务器,采用新一代英特尔固态硬盘,突破存储瓶颈,大幅提升服务器性能,帮助用户在海量数据中实现实时访问.云计算.大数据.高性能计算和其他数据中心应用的蓬勃发展,推动了对实时数据访问的需求.对于时刻关注市场走向的企业来说,"数据就是业务本身"已经成为不争的事实.除了海量数据之外,另一个挑战则来自对海量数据的实时访问需求.如何平衡海量数据和实时访问的需求,最大限度提供服务器的性能,华为全固态硬盘服务器为此提供了解

盘点各种固态硬盘接口 你见过哪几种?

固态硬盘的强悍性能以及价格不断走低的亲民化趋向,使得越来越多的用户开始考虑为新老PC进行硬盘更新.然而,作为新兴产业线,固态硬盘不同于内存和CPU等接口频率等标准早已完善的成熟规范的行业,固态硬盘在接口等标准上,根据不同大小不同尺寸,接口种类也是繁多复杂,给许多普通用户在挑选固态硬盘上带来了许多困恼,今天笔者就向大家浅略的介绍下当下主流的几款固态硬盘接口的规格及特点. 目前固态硬盘领域,能见到的不同接口主要有SATA.mSATA.M.2.SATA Express.PCI-E及U.2等,下面笔者就