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

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

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

MongoDB 是一个面向文档的 NoSQL 数据库,能在使用默认环境的 IBM® Power Systems™ 上高效运行。但是,您可以通过调优一些环境设置,在 Power Systems 上实现最佳性能,本文将介绍这些调优方法。
系统级调优
  • 超频、磁盘调优、CPU 绑定、内存关联
使用 PowerKVM 的虚拟化级调优
  • 主机调优:超频、磁盘调优
  • 来宾调优:内存关联、数据磁盘直通、网络外围组件互联 (PCI) 直通、CPU 解锁
应用程序级调优
  • Java 调优:大页面、堆大小、垃圾收集线程、压缩引用
  • 分片/集群调优
本文中的指南源自对 工作负载和其他客户概念证明 (POC) 工作负载的测试。每个客户端工作负载都有不同的需求。请仅使用这些建议作为指导;您需要根据计划部署的实际工作负载来调整具体的调优需求。
系统级调优除非另行说明,以下指南适合在 Linux on Power 上运行的所有 MongoDB 工作负载。
频率本节将介绍如何设置频率来超频。
  • 在裸机环境中,CPU 能源调节器由操作系统 (OS) 控制。
    • 使用 cpupower 命令验证和设置频率,如下所示:cpupower  -c 0-159 frequency-info
      cpupower  -c 0-159 frequency-set -g performance
  • 在 IBM PowerVM™ 环境中,使用硬件管理控制台 (HMC) 设置想要的性能:
    • 登录到 ASM (Advanced System Management)。
    • 展开 System Configuration -> Power Management
    • 单击 Power Mode Setup -> Enable Dynamic Power Save (favor performance) mode
    • 单击 Continue
    • 单击 Save Settings
同时多线程 (SMT) 使用 SMT,您可以在同一个核心上同时运行多个线程的指令流。在基于 IBM POWER8® 处理器的服务器上,SMT8 是默认设置,大部分工作负载都能使用此默认设置高效地运行。对于数据库,将 SMT 设置为 SMT8 模式被视为一种最佳实践。
可使用 ppc64_cpu 命令将 SMT 模式设置为 8、4 或 2,如下所示:
  • SMT8:ppc64_cpu –smt=on
  • SMT4:ppc64_cpu –smt=4
  • SMT2:ppc64_cpu –smt=2
ulimit对于 ulimit 设置,可使用 的建议。
磁盘调优对于内部存储:
  • 使用磁盘簇 (JBOD),使用 iprconfig 命令来格式化驱动器。可在以下地址找到 iprconfig 实用程序的更多细节:
  • 使用以下设置打开写磁盘缓存,其中 x 是磁盘编号:sdparm--set=WCE /dev/sdx
  • 对于生产工作负载,您可能需要使用固态硬盘 (SSD) 来满足工作负载的每秒输入/输出操作次数 (IOPS) 需求。
对于外部存储:
对于客户工作负载,可使用独立磁盘冗余阵列 (RAID) 保护。使用 RAID0 执行基准测试。您应确定最适合您的特定环境的 RAID 级别。
内存关联和 CPU 绑定
  • 内存关联在使用 PowerVM 时非常重要。有关内存关联的更多信息,请查阅以下 IBM Redbooks® 中的 “第 3 章. IBM POWER Hypervisor”:
  • 将运行的基准测试进程固定到特定核心。
  • 要在创建虚拟机 (VM) 时避免非一致性内存存取 (NUMA) 镜像,可将内存限制到单个芯片或节点。
  • 在生产环境中不推荐 CPU 绑定,但对于基准测试概念证明,可使用 taskset 命令执行 CPU 绑定。例如,要在拥有 10 个核心(80 个逻辑 CPU)的 CPU 的第一个插槽上运行 MongoDB,可使用以下命令:
    taskset –c 0-79 numactl –localalloc  mongod --config /home/mongoDB/test/mongodb.conf




虚拟化级调优在虚拟化环境中运行 MongoDB 时,以下指南描述了如何配置实际服务器(主机)和虚拟机(来宾)。
主机调优
  • 超频:遵循  部分提供的建议。
  • 磁盘调优:遵循  部分提供的建议。
来宾调优以下来宾调优指南将会介绍应如何配置每个虚拟机。
内存关联除非另行说明,以下建议适合 PowerKVM 3.1 以前的 IBM PowerKVM® 环境。
  • 使用 PowerVM 时,可使用动态平台优化器 (DPO) 工具。有关更多信息,请查阅 IBM Redbooks
  • 基于 POWER8 处理器的服务器包含多个芯片或插槽。根据工作负载的 CPU 和内存需求,一种最佳实践是将来宾限制在芯片或插槽边界内。下面的示例展示了如何将来宾限制在一个拥有 4 个节点的 IBM Power® System S822L 主机上的一个插槽上:
    ...
    numactl -H
    available: 4 nodes (0-1,16-17)
    node 0 cpus: 0 8 16 24 32
    node 0 size: 65536 MB
    node 0 free: 63286 MB
    node 1 cpus: 40 48 56 64 72
    node 1 size: 131072 MB
    node 1 free: 131000 MB
    node 16 cpus: 80 88 96 104 112
    node 16 size: 65536 MB
    node 16 free: 64286MB
    node 17 cpus: 120 128 136 144 152
    node 17 size: 65536 MB
    node 17 free: 64286 MB




返回列表