ERP中磁盘阵列条带的划分-针对Oracle数据库.docx

ERP中磁盘阵列条带的划分-针对Oracle数据库.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ERP 中磁盘阵列条带的划分 -针对 Oracle 数据库 OracleERP 中磁盘阵列条带的划分 -针对 Oracle 数据库 Oracle I/O 和条带阵列如何相互作用 在几乎所有的大型数据库中,对磁盘进行条带化可以增 磁盘 I/O 的速率,而不会因为要管理分布在多个单独磁盘 的数据文件而增加过多的负担。正如前面讨论的那样,可以 利用应用数据库服务器上的卷管理器, 专 用 I/O 子系统, 或 者是两者的结合将磁盘组织成磁盘阵列。 如果使用的 Oracle 发布没有提供 ASM ,那么你 在建立条带 磁盘阵列的时候,可以设置用于给磁盘加条带的块大小。块 大小就是数据迁移到阵列中的另一个磁盘之前写入当前磁 盘的数据量。理解不同条带的块大小 与两种大小的 Oracle I/O 之间的相互作用,对于将 I/O 性能最大化非常关键 假设一个 Oracle 数据块大小为 8KB ,并且 DB_FILE_MULTBLOCK_READ_COUNT 初始化参数设为 32。那么 Oracle 将支持两种大小的 I/O :一个单独的 8KB 数据块,和一 个 256KB 的多块读( 8KB 的 32 倍)。然后假 设为 Oracle 配置了一个包括 4 个磁盘的阵列,而块大小为 64KB ,那么 256KB 的数据库将会分散到 4 个磁盘中, 以及 每个磁盘 64KB 数据。 每个 8KB 的 每个 8KB 的 I/O 将命中 个轴, 而这 8KB 的数据 将会置于 个 64KB 的块中。由于并发的最大化,建立条带可以提高 小型 I/O 的性能,因为每个磁盘可以服务于不同的 I/O 。 256KB 的多块 256KB 的多块 I/O 将命中 所有 4 个磁盘。如果把块大小从 64KB 换成 256KB ,那么平均每个 256KB 的 I/O 请求只命中 个磁盘。在这种情况下,多块I/O 个磁盘。在这种情况下,多块 I/O 就只需要更少的 I /O 调 用,因为磁盘上的块大小比较大无论是哪一种情况,磁盘 用,因为磁盘上的块大小比较大 无论是哪一种情况,磁盘 都将会满足单数据库 I/O 都将会满足单数据库 I/O 调用 通过把一个 I/O 调用分散到 多个磁盘上建立条带,可以提高大 规模读操作的 I/O 速率, 在上面的 64KB 块大小和 256KB 多块 I/O 的例子中已经说明 了这一点。 那么什么是条带化呢?条带化 (Striping )是把连续的数据分 割成相同大小的数据块,把每段数据分别写入到阵列中不同 磁盘上的方法。 此技术非常有用, 它比单个磁盘所能提供 的 读写速度要快的多,当数据从第一个磁盘上传输完后,第 个磁盘就能确定下一段数据。数据条带化正在一些现代数据 库和某些 RAID 库和某些 RAID 硬件设备中得到广泛应 用。 条带化的设置 由于现在的存储技术成熟、成本降低,大多数系统都采用条 带化来实现系统的 IO 负载分担。如果操作系统有 LVM Logical Volume Manager 逻辑卷管理器) 软件或者硬件条 带设备,我们就可以利用这些攻击来分布 IO 负载。当使用 LVM 或者硬件条带时, 决定因素是条带深度 (stripe depth ) 和条带宽度( stripe width ): 条带深度指的是条带的大小,也叫条带单元; 条带宽度指的是条带深度的产量或者一个条带集中的驱动 数; 需要根据系统的 IO 要求来 合理的选择这些数据。对于 Oracle 数据库系统来数,比较合理的条带深度是从 256K 到 1M 。下面分析影响条带深度和条带宽度的影响因素。 条带深度 为了提高 IO 效率, 我们要尽量使一次逻辑 IO 请求由一块磁 盘的一次物理 IO 请求。因而影响条带的一个重要因素就是 次逻辑 IO 请求的大小。 IO 的并发度不同我们对条带的配置要求也不 同。例如,在高并发度且 IO 请求的大小都比较小的情况下, 我们希望一块磁盘能同时响应多 个 IO 操作;而在那些存在 大 IO 大 IO 请求的低并发度系统中 ,我们可能就需要多块磁盘同 时响应一个 IO 请求。无论是一个磁盘还是多个磁盘响应 IO 请求,我们的一 个原则是让一次逻辑 IO 能被一次处理完成。 面先看下影响 IO 大小的操作系统和 Oracle 的相关参数: db_block_size : Oracle 中的数据块大小,也决定了 Oracle 在多数据块读时,一次读次单个 IO 请求中的数据块的大小; 在多数据块读时,一次读 db_file_multiblock_read_count 取数据块的数量,它和参数 db_block_size 一起决定了一次 多数据块读的大小, 它们的乘积不能大于操作系统的最大 IO 大 小

文档评论(0)

zhaoxiaoj + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档