未加星标

IBM Power Systems 上的 MongoDB 调优指南

字体大小 | |
[数据库(综合) 所属分类 数据库(综合) | 发布者 店小二04 | 时间 2016 | 作者 红领巾 ] 0人收藏点击收藏

MongoDB 是一个面向文档的 NoSQL 数据库,能在使用默认环境的 IBM Power Systems 上高效运行。但是,您可以通过调优一些环境设置,在 Power Systems 上实现最佳性能,本文将介绍这些调优方法。

系统级调优 超频、磁盘调优、CPU 绑定、内存关联 使用 PowerKVM 的虚拟化级调优 主机调优:超频、磁盘调优 来宾调优:内存关联、数据磁盘直通、网络外围组件互联 (PCI) 直通、CPU 解锁 应用程序级调优 Java 调优:大页面、堆大小、垃圾收集线程、压缩引用 分片/集群调优

本文中的指南源自对 Yahoo!Cloud Serving Benchmark (YCSB) 工作负载和其他客户概念证明 (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 设置,可使用 MongoDB 管理指南 中的建议。

磁盘调优

对于内部存储:

使用磁盘簇 (JBOD),使用 iprconfig 命令来格式化驱动器。可在以下地址找到 iprconfig 实用程序的更多细节: https://www.ibm.com/support/knowledgecenter/HW4L4/p8ebk/starting_iprconfig.htm 使用以下设置打开写磁盘缓存,其中 x

是磁盘编号:

sdparm--set=WCE /dev/sdx

对于生产工作负载,您可能需要使用固态硬盘 (SSD) 来满足工作负载的每秒输入/输出操作次数 (IOPS) 需求。

对于外部存储:

对于客户工作负载,可使用独立磁盘冗余阵列 (RAID) 保护。使用 RAID0 执行基准测试。您应确定最适合您的特定环境的 RAID 级别。

内存关联和 CPU 绑定 内存关联在使用 PowerVM 时非常重要。有关内存关联的更多信息,请查阅以下 IBM Redbooks 中的 “第 3 章. IBM POWER Hypervisor”: 包括 IBM POWER8 在内的 IBM Power Systems 处理器的性能优化和调优技术 将运行的基准测试进程固定到特定核心。 要在创建虚拟机 (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 包括 IBM POWER8 在内的 IBM Power Systems 处理器的性能优化和调优技术 基于 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 如果来宾需要多于 10 个核心和约 100GB 内存,那么来宾应使用两个节点。在下面的 libvirt XML 定义示例中,使用了节点 16 和 17 来限制来宾。 ... <memory unit='KiB'>125566976</memory> <currentMemory unit='KiB'>125566976</currentMemory> <memoryBacking> <hugepages/> </memoryBacking> <vcpu placement='static'>80</vcpu> <cputune> <vcpupin vcpu='0' cpuset='80,88,96,104,112'/> <vcpupin vcpu='1' cpuset='80,88,96,104,112'/> <vcpupin vcpu='2' cpuset='80,88,96,104,112'/> <vcpupin vcpu='3' cpuset='80,88,96,104,112'/> <vcpupin vcpu='4' cpuset='80,88,96,104,112'/> <vcpupin vcpu='5' cpuset='80,88,96,104,112'/> <vcpupin vcpu='6' cpuset='80,88,96,104,112'/> <vcpupin vcpu='7' cpuset='80,88,96,104,112'/> <vcpupin vcpu='8' cpuset='80,88,96,104,112'/> <vcpupin vcpu='9' cpuset='80,88,96,104,112'/> <vcpupin vcpu='10' cpuset='80,88,96,104,112'/> <vcpupin vcpu='11' cpuset='80,88,96,104,112'/> <vcpupin vcpu='12' cpuset='80,88,96,104,112'/> <vcpupin vcpu='13' cpuset='80,88,96,104,112'/> <vcpupin vcpu='14' cpuset='80,88,96,104,112'/> <vcpupin vcpu='15' cpuset='80,88,96,104,112'/> <vcpupin vcpu='16' cpuset='80,88,96,104,112'/> <vcpupin vcpu='17' cpuset='80,88,96,104,112'/> <vcpupin vcpu='18' cpuset='80,88,96,104,112'/> <vcpupin vcpu='19' cpuset='80,88,96,104,112'/> <vcpupin vcpu='20' cpuset='80,88,96,104,112'/> <vcpupin vcpu='21' cpuset='80,88,96,104,112'/> <vcpupin vcpu='22' cpuset='80,88,96,104,112'/> <vcpupin vcpu='23' cpuset='80,88,96,104,112'/> <vcpupin vcpu='24' cpuset='80,88,96,104,112'/> <vcpupin vcpu='25' cpuset='80,88,96,104,112'/> <vcpupin vcpu='26' cpuset='80,88,96,104,112'/> <vcpupin vcpu='27' cpuset='80,88,96,104,112'/> <vcpupin vcpu='28' cpuset='80,88,96,104,112'/> <vcpupin vcpu='29' cpuset='80,88,96,104,112'/> <vcpupin vcpu='30' cpuset='80,88,96,104,112'/> <vcpupin vcpu='31' cpuset='80,88,96,104,112'/> <vcpupin vcpu='32' cpuset='80,88,96,104,112'/> <vcpupin vcpu='33' cpuset='80,88,96,104,112'/> <vcpupin vcpu='34' cpuset='80,88,96,104,112'/> <vcpupin vcpu='35' cpuset='80,88,96,104,112'/> <vcpupin vcpu='36' cpuset='80,88,96,104,112'/> <vcpupin vcpu='37' cpuset='80,88,96,104,112'/> <vcpupin vcpu='38' cpuset='80,88,96,104,112'/> <vcpupin vcpu='39' cpuset='80,88,96,104,112'/> <vcpupin vcpu='40' cpuset='120,128,136,144,152'/> <vcpupin vcpu='41' cpuset='120,128,136,144,152'/> <vcpupin vcpu='42' cpuset='120,128,136,144,152'/> <vcpupin vcpu='43' cpuset='120,128,136,144,152'/> <vcpupin vcpu='44' cpuset='120,128,136,144,152'/> <vcpupin vcpu='45' cpuset='120,128,136,144,152'/> <vcpupin vcpu='46' cpuset='120,128,136,144,152'/> <vcpupin vcpu='47' cpuset='120,128,136,144,152'/> <vcpupin vcpu='48' cpuset='120,128,136,144,152'/> <vcpupin vcpu='49' cpuset='120,128,136,144,152'/> <vcpupin vcpu='50' cpuset='120,128,136,144,152'/> <vcpupin vcpu='51' cpuset='120,128,136,144,152'/> <vcpupin vcpu='52' cpuset='120,128,136,144,152'/> <vcpupin vcpu='53' cpuset='120,128,136,144,152'/> <vcpupin vcpu='54' cpuset='120,128,136,144,152'/> <vcpupin vcpu='55' cpuset='120,128,136,144,152'/> <vcpupin vcpu='56' cpuset='120,128,136,144,152'/&gt

本文数据库(综合)相关术语:系统安全软件

主题: MongoDBCPU虚拟化服务器IBMJavaLinux硬盘SQLXML
分页:12
转载请注明
本文标题:IBM Power Systems 上的 MongoDB 调优指南
本站链接:http://www.codesec.net/view/484335.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 数据库(综合) | 评论(0) | 阅读(31)