首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

IBM Power Systems 上的 MongoDB 调优指南(3)

IBM Power Systems 上的 MongoDB 调优指南(3)

应用程序级调优除了系统级和虚拟化级设置之外,根据您运行的应用程序,通常还需要进行额外的调优。本节将介绍如何配置一些更常见的应用程序级设置。
Java 调优本节中的建议仅适用于基于 Java 的工作负载,包括 YCSB。
大页面以下设置应适用于裸机和 PowerKVM 主机环境。
  • 您将使用的大页面数量取决于您的特定应用程序需求。设置该数量来包含所需的最大值,例如所有 Java 进程的 Java 虚拟机 (JVM) 堆的总大小。
  • 您分配给大页面的最大内存不应超过系统内存的 90%。
  • 使用较大的数字。下面的示例使用 512 GB:
    echo 549755813888 > /proc/sys/kernel/shmmax
    echo 549755813888 > /proc/sys/kernel/shmall




  • 要在下次系统重新启动时永久设置此数字,可将它附加到 /etc/sysctl.conf 文件,如下所示:
    # Shared memory – max segment size:
           kernel.shmmax = 549755813888
           # Total amount of shared memory pages
           kernel. shmall = 549755813888




  • 设置保留的大内存页面数量,即保留页面数量。下面的示例保留了 60 GB:
    echo 3750 > /proc/sys/vm/nr_hugepages




  • 要在下次系统重新启动时永久设置此数字,可将它附加到 /etc/sysctl.conf 文件,如下所示:
    # Enable kernel to reserve 60GB
        vm.nr_hugepages = 3750




使用 IBM JDK 版本 7、8 或更高版本应根据您的具体 Java 工作负载来设置 Java 选项。对于更高的 YCSB 版本,可使用 Java 默认设置;对于较低的版本,可修改 ycsb 脚本文件并添加以下选项:
"-Xlp", "-Xms4096m", "-Xmx4096m",  "-Xmn3400m", "-Xgcthreads8", "-Xcompressedrefs"
大页面许多 Java 工作负载使用大页面时运行效率更高。对于 YCSB,可使用大页面 (16 MB) 和 -Xlp
对于 YCSB,可使用每个 Java 实例 4 GB 堆大小。
垃圾收集线程对于 YCSB,可将垃圾收集线程数设置为 8。
压缩引用使用压缩引用选项来更有效地使用可用空间。
有关更多信息,请查阅 IBM Redbooks第 177 页。
分片/集群调优对于写/更新密集型工作负载,将它们限制到一个插槽能够实现最佳关联(使用最多每个分片 10 个核心)。对于读/查询密集型工作负载,将它们限制到一个插槽能够实现最佳关联(使用最多每个分片 20 个核心)。
返回列表