详解数据库中的分页、内存和I/O延迟

发表于:2010-12-14 10:37

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:梨园小鹿    来源:51Testing软件测试网采编

  几年前我写了一篇关于 AIX 调优的文章,现在 AIX 7 出现了,所以有必要重新审视需要在 AIX 系统上执行的基本调优措施。已经发布的许多技术级别 (TL) 和一些建议可能会改变。在本文中,我将提供与 AIX 5.3、6.1 和 7 中的可调项相关的 AIX 调优信息。

  我主要关注 I/O、内存和网络。在默认情况下,AIX 6 和 7 在内存调优方面做得相当好,只需要做几个小调整。但是,AIX 5.3 在这个方面需要更多调优。图 1 给出不同的可调项及其默认设置。第四栏是对于这三个版本最新的 TL 的这些设置的推荐值。

  图 1.不同可调项及其默认设置

  请记住一个要点:在安装全新的 AIX 6 或 7 时,会自动地设置新的内存可调项默认值。如果是从 AIX 5.3 迁移系统,那么在 AIX 5.3 中设置的所有可调项会随同迁移。在执行迁移之前,建议记录已经修改的所有可调项(取得 /etc/tunables/nextboot 的拷贝),然后把可调项恢复为默认值。在迁移之后,检查 nextboot 并确保其中没有任何内容。现在,讨论需要为 AIX 6 或 7 修改的可调项。

  分页空间

  最佳实践建议在不同的不太忙的硬盘驱动器 (hdisk) 上配置多个相同大小的分页空间。所有分页空间应该建立镜像,或者放在 RAID(1 或 5)存储区域网络 (SAN) 上。除非数据库需要,分页空间一般不需要达到内存量的两倍。我曾经在 AIX 上用 250 GB 内存和三个 24 GB 的分页空间运行大型 Oracle 数据库。关键是使用并发 I/O (CIO) 等技术避免分页,提供分页空间是为了以防万一需要分页。

  在默认情况下,AIX 在 rootvg 中创建一个分页空间 (hd6),它太小了。如果 rootvg 被镜像,那么这个分页空间也会被镜像。我通常使用几个来自 SAN 的自定义大小的逻辑单元号 (LUN) 添加额外的分页空间。不要在当前 rootvg 分页空间所在的内部磁盘(或 SAN LUN)中添加分页空间。在相同的 hdisk 上配置多个分页空间会降低分页速度。

  在构建虚拟 I/O 服务器 (VIOS) 时,会自动地配置两个分页空间,它们都在 hdisk0 上。hd6 是 512 MB,paging00 是 1,024 MB。我总是关闭并删除 paging00,然后把 hd6 增加到 4,096 MB。正如前面提到的,在相同的 hdisk 上配置两个分页空间是不好的做法。

  页面偷取方法

  在 AIX 5.3 的默认设置中,page_steal_method 设置为 0。这影响最近最少使用守护进程 (least recently used daemon LRUD) 扫描可释放页面的方式。设置 lru_file_repage=0 意味着强烈建议 LRUD 不偷取可执行代码的页面,总是尝试偷取文件系统(持久)页面。偷取持久页面比偷取工作存储页面代价低得多,因为后者会导致换出/换入页面。假设使用 100 GB 内存和五个内存池,内存会划分为五个大约 20 GB 的池,每个 LRUD 处理大约 20 GB(这是非常简化的描述)。根据图 2 中的 numclient 值,可以假设大约 45% 的内存用于文件系统,即大约 45 GB;另外的 55 GB 是工作存储。

  图 2.vmstat 输出

  如果设置 page_steal_method=0,在寻找空闲页面时 LRUD 不得不扫描它们控制的所有内存页面,尽管很可能只释放持久页面。如果设置 page_steal_method=1,LRUD 会改用基于列表的页面管理方案。这意味着 LRUD 把内存划分为一个持久页面列表和一个工作存储页面列表。当 LRUD 搜索可从文件系统缓存中释放的页面时,它们只搜索持久页面列表。对于图 2 中的示例,这应该会把扫描可释放页面的速度提高一倍多,这会降低开销。在“vmstat -I 2 2”的输出中可以看到扫描速度和空闲率。

31/3123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号