IBM Power Systems 上的 MongoDB 调优指南(3)
- UID
- 1066743
|
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 个核心)。 |
|
|
|
|
|