配置 IBM ESS、IBM Spectrum Scale、IBM POWER8 和 Mellanox 来实现卓越的 SAS 分析性能
要了解这个新的软件定义融合基础架构,可以参阅标题为“一种适合 SAS Foundation 混合工作负载的新的软件定义融合基础架构”的技术简报。该技术简报描述了一种为 SAS 上用于内部测试的 SAS Mixed Analytics 工作负载提供出色性能的架构和方法。该融合基础架构的关键元素包括 IBM®Elastic Storage Server (ESS)、IBM Power® 服务器和来自 Mellanox 的基于以太网的存储结构。
本文将介绍测试的用途、目标和结果,包括测试背后的技术细节、测试环境的规格,以及测试方案细节和来自这些测试的性能数据。最后,还会提供调优融合基础架构的指南,以帮助获得最佳性能。
图 1 演示了在实验室环境中使用 IBM Elastic Storage Server 和 IBM Power E880 服务器测试 SAS 软件所用的架构和配置。图 2 展示了 ESS 网络配置。
点击查看大图
点击查看大图
本节将介绍该架构的每个组件的详细配置。
软件
网络配置
IBM Power System E880 服务器配置
ESS 配置
创建 ESS Spectrum Scale 文件系统
使用以下 Spectrum Scale 文件系统参数来创建 SASWORK、SASDATA 和 SASUTIL 应用程序存储空间。最初创建了各种不同大小的文件系统块并测试了性能。
一般而言,Spectrum Scale 文件系统块大小可通过将应用程序的块大小乘以 32 进行计算。IBM ESS 使用了 GPFS Native RAID (GNR)。一种简单解释是,GNR 将文件系统块大小分解为 32 个小块并将它们暂存在磁盘子系统上。
但是,采用 256 KB 的 SAS BUFSIZE 时,在实验室环境中使用各种不同文件系统块大小执行的 SAS 工作负载测试表明,8 MB 或 16 MB 文件系统块大小的性能最佳。
创建并挂载文件系统的样本命令:
- # gssgenvdisks --vdisk-suffix _sasdata_8m --create-vdisk --create-filesystem --filesystem-name sasdata_8m --data-vdisk-size 4000 --data-blocksize 8M
- # mmmount all
- Fri Jun 3 19:21:25 CDT 2016: mmmount: Mounting file systems ...
- # df -h
- Filesystem Size Used Avail Use% Mounted on
- /dev/sda3 246G 3.0G 244G 2% /
- devtmpfs 60G 0 60G 0% /dev
- tmpfs 60G 0 60G 0% /dev/shm
- tmpfs 60G 95M 60G 1% /run
- tmpfs 60G 0 60G 0% /sys/fs/cgroup
- /dev/sda2 497M 156M 341M 32% /boot
- /dev/sasdata_1m 16T 264M 16T 1% /gpfs/sasdata_1m
- /dev/saswork_1m 16T 264M 16T 1% /gpfs/saswork_1m
- /dev/sasutil_1m 7.9T 264M 7.9T 1% /gpfs/sasutil_1m
- /dev/sasutil_4m 7.9T 288M 7.9T 1% /gpfs/sasutil_4m
- /dev/saswork_4m 16T 288M 16T 1% /gpfs/saswork_4m
- /dev/sasdata_4m 16T 288M 16T 1% /gpfs/sasdata_4m
- /dev/sasdata_8m 16T 320M 16T 1% /gpfs/sasdata_8m
- /dev/sasutil_8m 7.9T 320M 7.9T 1% /gpfs/sasutil_8m
- /dev/saswork_8m 16T 16T 0 100% /gpfs/saswork_8m
本节将介绍用于执行测试的工作负载、测试方案和详细结果。
性能验证期间使用的工作负载是一种 SAS Foundation 混合分析工作负载。该工作负载由一组并发运行的分析作业组成。这些作业对给定 IT 基础架构的计算、内存和 I/O 功能施加压力。
该工作负载由 20 个单独的 SAS 程序测试组成:10 个计算密集型测试,2 个内存密集型测试,8 个 I/O 密集型测试。一些测试使用现有的数据存储来运行,一些测试生成自己的数据,以便在运行测试期间执行。这些测试是短期运行(几分钟)和长期运行(几小时)作业的混合体。这些测试以并发方式和/或顺序方式反复运行,以获得 20-test 的平均并发工作负载或 30-test 的平均并发工作负载。20-test 工作负载总共运行了 71 个作业,30-test 工作负载总共运行了 101 个作业。在峰值负载期间,30-test 工作负载可以采用 55 个处理器,并发生成 I/O 密集型作业。
工作负载的性能指标是工作负载响应时间(以分钟为单位),这是工作负载中所有作业的累积真实响应时间。响应时间越短越好。我们还分析了其他性能指标,比如处理器时间(用户 + 系统时间)、服务器利用率和 I/O 吞吐量。收集这些指标是为了了解启用压缩时对性能的影响。
工作负载响应时间(真实时间)和处理器时间(用户 + 系统时间)是从 SAS 作业的日志文件采集的。这些统计数据通过 SAS FULLSTIMER 选项进行记录。从 IBM POWER7®处理器架构开始,IBM Power Systems™ 使用处理器利用率资源注册表 (PURR) 来准确报告系统使用情况。POWER8 处理器的 PURR 系数需要应用到文中描述的处理器时间指标。要获得 PURR 系数的更多细节,请参阅“通过 IBM XIV Storage System 和 IBM FlashSystem 将 SAS Business Analytics 部署在基于 IBM POWER8 处理器的系统上”和它的附录 B。
基准测试中运行了以下方案:
执行该测试时,服务器和存储系统上都没有运行竞争性工作负载。测试团队收集了工作负载、主机端和存储端性能指标,并将基准测试与最终测试中的这些指标进行比较。
本节将介绍执行这些测试方案的结果。
单节点测试:20-test 混合分析工作负载
用于测试 20-test 混合分析工作负载的逻辑分区 (LPAR) 配置包括:
点击查看大图
点击查看大图
图 3 和图 4 展示了 20-test 单节点测试的网络 I/O 吞吐量和处理器利用率。以下是关键结果:
可扩展性测试:20-test 混合分析工作负载
可扩展性测试的执行方式是,线性扩展工作负载和节点 - 将 20-test 工作负载从 1 个节点(包含 20 个并发测试)扩展到 4 个节点(包含 80 个并发测试,每个节点 20 个并发测试)。在扩展工作负载时,后端存储和计算保持不变。1、2、3 和 4 节点测试分别运行总计 20、40、60 和 80 个混合分析工作负载测试。还对 30-test 混合分析工作负载执行了类似的可扩展性测试,同样从 1 个节点扩展到 4 个节点。
用于可扩展性测试的 LPAR 的配置包括:
点击查看大图
图 5 总结了对 20-test 工作负载进行可扩展性测试的结果。图 6 到图 10 中的图表提供了在测试期间实现的 I/O 吞吐量。
点击查看大图
点击查看大图
点击查看大图
点击查看大图
点击查看大图
本节将介绍 Mellanox 结构、它在环境中的配置,以及测试结果。
通过使用特征码为 EC3A/EC3B 的适配器和 8831-NF2 交换机(通过电缆 EB40-EB42 和 EB4A-EB4G 连接), IBM Power IO 产品组合可以为一个基于 ESS 的存储解决方案构建一个以 40GbE 速度运行的完整端到端 Mellanox 结构。这样做可以提供一个可靠、低延迟(端口间的延迟约为 330ns)、基于以太网的 TCP/IP 存储结构。
这个存储部署的重要部分是,Mellanox 交换机可以在 Mellanox 中仅采用 56GbE 模式运行该结构。通过将交换机上每个端口的线路速度入口更改为 56000,可以从现有网络硬件中获得 40% 的额外带宽,而无需任何进一步投资。使用的布线必须能以 56GbE 速度运行。使用的适配器能自动与交换机就速度进行协商。
在实验室环境中,调整了网络交换机、主机和客户端的端口来以 56GbE 速度运行,并反复执行测试来查看性能改善。
当 Mellanox 结构以 56GbE 速度运行时,执行了以下测试来测量相较于 40GbE 速度的性能提升。
在 4 个节点上使用 gpfsperf 工具的 I/O 测试结果
作为 Spectrum Scale 部署的一部分,可使用一些现有的性能工具(比如 gpfsperf 和 nsdperf)来帮助验证系统性能。请参阅本文的“附加阅读资料”部分引用的 Spectrum Scale 文档,了解关于这些工具的更多信息。gpfsperf 工具可用于度量 Spectrum Scale (GPFS) 文件系统上的读、写和读/写 I/O 性能。在网络端口以 40GbE 和 56GbE 速度运行时,使用了该工具来度量 I/O 吞吐量。该工具同时在所有 4 个节点上运行,以便对网络和 ESS 存储施加压力。图 11 展示了端口以 40GbE 和 56GbE 速度运行时的 I/O 吞吐量的比较。
点击查看大图
使用 gpfsperf 工具的测试结果表明,无需任何额外的基础架构或升级现有网络基础架构,整体读/写 I/O 吞吐量 (70:30) 获得了 8% 到 10% 的提升。在测试期间,ESS GL4 存储的 I/O 吞吐量达到了极限。
gpfsperf 顺序写命令样本:
- /usr/lpp / mmfs / samples / perf / gpfsperf create seq / gpfs / sasdata_1m / data / n1aa - r 1m - th $1 - n 3072M &
gpfsperf 顺序读命令样本:
- /usr/lpp / mmfs / samples / perf / gpfsperf read seq / gpfs / sasdata_1m / data / n1aa - r 1m - th $1 &
gpfsperf 顺序读/写命令样本:
- /usr/lpp / mmfs / samples / perf / gpfsperf mixrw seq / gpfs / sasdata_1m / data / n1aa - r 1m - th $1 - n 3072M - readratio 70 &
对 56GbE 结构进行 SAS 工作负载测试的测试结果
20-test 混合分析工作负载没有网络 I/O 限制;因此与 40GbE 结果相比,(单节点或多个节点上的)20-test 工作负载没有实现任何性能改善。但是,与以 40GbE 速度运行的端口相比,当网络端口调节为以 56GbE 速度运行时,30-test 工作负载表现出了性能改善。
图 12 和图 13 展示了 30-test 工作负载以 40GbE 和 56GbE 速度运行时的 I/O 吞吐量。
点击查看大图
点击查看大图
本节将提供如何调优环境的每个方面的指导和建议。
交换机调优
有 5 个经过修改的交换机调优参数:
- Interface ethernet 1/n flowcontrol receive on force
- Interface ethernet 1/n flowcontrol send on force
- Interface ethernet 1/n speed 56000, where n= port 1-36
- Interface ethernet 1/n mtu 9000, where n= port 1-36
- Interface port-channel y flowcontrol receive on force, where y = 1 – max number of LAG groups
- Interface port-channel y flowcontrol send on force, where y = 1 – max number of LAG groups
- port - channel load - balance ethernet source - destination - ip source - destination - mac source - destination - port
为了实现冗余性,客户端节点 (LPAR) 拥有双端口适配器。由于适配器所插入的 PCI Gen3.0 x8 总线的限制,适配器的最大总带宽限制为 56GbE。在需要增加带宽和冗余性时,建议以 56GbE 速度运行交换机端口来增加带宽。将适配器配置为模式 1 (Active / Standby) 来提供冗余性。
备注:实验室环境中有一台 36 端口的 40GbE / 56GbE 交换机。它拥有 4 条来自客户端节点 (LPARS) 的链接和 7 条来自 ESS 存储的链接,总共使用了 11 个端口。客户可能不希望整个交换机受到只能使用 11 个端口的限制。Mellanox 通过 IBM 业务合作伙伴提供了一个选项 - 一个拥有 12 个端口的较少端口交换机 MSX-1012B-2BFS,这个交换机使用与 IBM 8831-NF2 相同的 MLNX-OS 和 ASIC,并拥有与其相同的特性。
AIX 客户端网络调优参数
以下操作系统网络的可调优参数是根据 AIX 默认值进行更改的。要查看 lsattr 命令输出、no -a 命令输出以及 Spectrum Scale 可调优参数的完整列表,请参阅“附录:调优参数”部分。
根据默认适配器设置,对 AIX SAS 客户端适配器接口 en3 进行的更改
- # en3
- mtu 9000 Maximum IP Packet Size for This Device True
- rfc1323 1 Enable/Disable TCP RFC 1323 Window Scaling True
- tcp_nodelay 1 Enable/Disable TCP_NODELAY Option True
- tcp_recvspace 1048576 Set Socket Buffer Space for Receiving True
- tcp_sendspace 1048576 Set Socket Buffer Space for Sending True
- thread on Enable/Disable thread attribute True
根据默认设置对 AIX SAS 客户端适配器设备 ent3 进行的更改
- # ent3
- jumbo_frames yes Request jumbo frames True
- jumbo_size 9014 Requested jumbo frame size True
- large_receive yes Request Rx TCP segment aggregation True
- large_send yes Request Tx TCP segment offload True
- tx_comp_cnt 2048 Tx completions before hardware notification True
通过 no -L -F 更改的 AIX 网络环境/适配器参数与默认值的比较
一般网络参数
- -------------------------------------------------------------------------------------------------
- NAME CUR DEF BOOT MIN MAX UNIT TYPE DEPENDENCIES
- -------------------------------------------------------------------------------------------------
- fasttimo 100 200 100 50 200 millisecond D
- -------------------------------------------------------------------------------------------------
- sb_max 32M 1M 32M 4K 8E-1 byte D
- -------------------------------------------------------------------------------------------------
- ##Restricted tunables
- poolbuckets 7 1 1 1 20 numeric D
- -------------------------------------------------------------------------------------------------
TCP 网络可调优参数
- --------------------------------------------------------------------------------
- NAME CUR DEF BOOT MIN MAX UNIT TYPE DEPENDENCIES
- --------------------------------------------------------------------------------
- hstcp 1 0 1 0 1 boolean D
- --------------------------------------------------------------------------------
- rfc1323 1 0 1 0 1 boolean C
- --------------------------------------------------------------------------------
- sack 1 0 1 0 1 boolean C
- --------------------------------------------------------------------------------
- tcp_mssdflt 8960 1460 8960 1 64K-1 byte C
- --------------------------------------------------------------------------------
- tcp_recvspace 856K 16K 856K 4K 8E-1 byte C sb_max
- --------------------------------------------------------------------------------
- tcp_sendspace 856K 16K 856K 4K 8E-1 byte C sb_max
- --------------------------------------------------------------------------------
UDP 网络可调优参数
- NAME CUR DEF BOOT MIN MAX UNIT TYPE DEPENDENCIES
- --------------------------------------------------------------------------------
- udp_recvspace 768K 42080 768K 4K 8E-1 byte C sb_max
- --------------------------------------------------------------------------------
- udp_sendspace 256K 9K 256K 4K 8E-1 byte C sb_max
- --------------------------------------------------------------------------------
- n/a means parameter not supported by the current platform or kernel
- Parameter types:
- S = Static: cannot be changed
- D = Dynamic: can be freely changed
- B = Bosboot: can only be changed using bosboot and reboot
- R = Reboot: can only be changed during reboot
- C = Connect: changes are only effective for future socket connections
- M = Mount: changes are only effective for future mountings
- I = Incremental: can only be incremented
- Value conventions:
- K = Kilo: 2^10 G = Giga: 2^30 P = Peta: 2^50
- M = Mega: 2^20 T = Tera: 2^40 E = Exa: 2^60
备注:在已连接的交换机端口的速度更改为 56000 后,重新启动 LPAR 即可实现自动配置的端口速度更改。
ESS Linux I/O 服务器适配器连接更改
经过广泛测试后,ESS 网络适配器 bond0 参数从 LACP 更改为 ALB。
- # vi /etc/sysconfig/network-scripts/ifcfg-bond-bond0
- BONDING_OPTS=”miimon=100 mode=balance-alb xmit_hash_policy=layer3+4”
- MTU=9000
ESS Linux I/O 服务器网络调优参数
以下操作系统网络可调优参数已对 Linux ESS I/O Network Shared Disk (NSD) 服务器的默认值作出更改。
- ppc64_cpu --smt=2
- ethtool -G enP4p1s0 rx 8192 tx 8192
- ethtool -G enP9p1s0 rx 8192 tx 8192
- ethtool -G enp1s0 rx 8192 tx 8192
- mlnx_tune -r -c
- ethtool -K enP9p1s0d1 tx-nocache-copy off
- ethtool -K enP4p1s0d1 tx-nocache-copy off
- ethtool -K enp1s0d1 tx-nocache-copy off
备注:在 ESS 安装过程中,已预先设置/调优了 ESS 节点网络可调优参数。
以下 Spectrum Scale 集群调优参数已根据默认值进行了更改并用于混合 AIX/Linux GPFS 集群。从 Spectrum Scale 4.2.0.3 开始,第一列中的句点“.”表示该参数已通过
参数进行了更改。该特性有时称为自动调优特性,在此特性中,更改参数
- workerThreads
也会导致其他可调优参数自动对默认值进行更改。
- workerThreads
已更改的 Spectrum Scale 可调优参数(按照对性能的影响从高到低列出)包括
。这些可调优参数为 SAS Mixed Analytics 工作负载提供了最重大的性能提升。一般而言,针对 SAS 工作负载的最重要 Spectrum Scale 可调优参数是
- Pagepool、workerThreads、prefetchPct、maxFilesToCache、maxblocksize 和 maxMBpS
。与初始环境测试中的其他 Spectrum Scale 可调优参数相比,增加客户端节点上的 Pagepool 提供了最大的性能改善。根据其他环境中的后续相关 ESS GL4 测试,我们预计,如果客户端节点上的 Pagepool 从 32 GB 增长到 64 GB,与本文中报告的数字相比,性能将提高 5% 到 10%。
- Pagepool
因此,以下突出显示的参数被视为最重要的可调优参数,应该首先考虑更改它们。请注意,对于 ESS,在 ESS 安装过程中已更改了许多默认配置值。ESS 经过了高度优化,对于我们的测试,所需的调优更改极少。例如,ESS 节点的 Pagepool 的最大默认大小为 72 GB。请参阅附录:调优参数,了解 Spectrum Scale 配置可调优参数的完整列表。
运行 AIX 的客户端节点:
- maxblocksize 16777216
- maxFilesToCache 50000
- maxMBpS 24000
- Pagepool 34359738368
- prefetchPct 40
- workerThreads 1024
ESS/Linux 节点:
- maxblocksize 16777216
- maxFilesToCache 50000
- maxMBpS 24000
- prefetchPct 40
- seqDiscardThreshhold 1073741824
- workerThreads 1024
备注:在 ESS 安装过程中,已通过 Spectrum Scale 性能脚本设置了许多非默认参数。
IBM 和 Mellanox 通过针对 SAS 工作负载的 JBOD 近线磁盘存储解决方案,实现了一个有效且相对经济的以太网,该解决方案的性能与更昂贵的中间层光纤通道连接闪存相当。使用 AIX(位于基于 IBM POWER8 处理器的服务器上)作为 SAS 客户端,凸显出了其作为这个成功 POC 强大工作引擎的优势。只有 Mellanox 才能提供的以太网高速存储网络是实现 ESS 完整 I/O 吞吐量的关键,它还提供了运行 40GbE 结构的能力,而且除了以 56GbE 速度运行的交换机的解决方案配置和以 56GbE 速度运行的 40GbE 适配器的自动配置(在 IBM 产品组合中使用 56GbE 电缆实现)之外,没有任何额外费用。
从这个 SAS Mixed Analytics 工作负载概念证明收集的性能指标表明,该解决方案在 SAS 应用程序中发挥了 IBM Elastic Storage Server、Mellanox 网络和 Power E880 的全部潜力。跨学科团队通过结合使用团队服务器、网络、存储和应用程序专家经验,对系统的所有部分进行交互式调优和优化,获得了卓越的性能。除了业界领先的硬件和软件之外,这是这个 POC 获得成功的关键。
IBM 和 SAS 白皮书
IBM Power Systems
IBM 存储解决方案
网络
为 AIX SAS 客户端使用了以下操作系统网络可调优参数。可以使用 lsattr AIX 命令来显示特定设备的属性特征和可能的属性值。例如:
lsattr -El ent3
备注:由于启用了 rfc1323,所以特定于接口的可调优参数优先于设置为 no 的参数。
- [root@brazos06]> # lsattr -El ent3
- alt_addr 0x000000000000 Alternate Ethernet address True
- bar0 0x88100000 Bus memory address 0 False
- bar1 0x80000000 Bus memory address 1 False
- bar2 0x88000000 Bus memory address 2 False
- chksum_offload yes Request checksum offload True
- delay_open no Delay open until link state is known True
- devid 0xb31503101410b504 Device ID False
- eeh_cfgsp_delay 999 EEH config space delay (miliseconds) False
- eeh_reset_delay 5 EEH reset delay (seconds) False
- flow_ctrl yes Request flow control True
- flow_ctrl_rx yes Receive pause frames True
- flow_ctrl_tx yes Transmit pause frames True
- intr_cnt 10 Interrupt event coalesce counter True
- intr_priority 3 Interrupt priority False
- intr_time 5 Interrupt event coalesce timer (microseconds) True
- ipv6_offload yes Request IPV6 stateless offloads True
- jumbo_frames yes Request jumbo frames True
- jumbo_size 9014 Requested jumbo frame size True
- large_receive yes Request Rx TCP segment aggregation True
- large_send yes Request Tx TCP segment offload True
- link_delay_mode logging Link status delay mode True
- link_delay_time 5 Link status delay timer (seconds) True
- lro_threshold 2 Rx TCP segment aggregation minimum pkt threshold True
- media_speed 40000_Full_Duplex Requested Media speed False
- queue_pairs 8 Requested number of queue pairs True
- queues_rdma 1 Requested number of RDMA event queues True
- rdma desired Request RDMA True
- rom_mem 0x0 ROM memory address False
- rsp_comp_cnt 128 RSP Completions Before Hardware Notification True
- rsp_limit 1000 Response queue entries processed per interrupt True
- rsp_max_events 512 Max RSP events that can be received True
- rx_buffer_low 90 Rx queue buffer replenish threshold True
- rx_chain 16 Rx packets chained for stack processing True
- rx_comp_limit 128 Response queue entries processed per interrupt True
- rx_max_pkts 2048 Rx queue maximum packet count True
- rx_notify_cnt 128 Rx packets per Rx complete notification True
- rx_send_cnt 8 Rx Immediate Data mode True
- systrc_enable no Enable config debug tracing True
- timer_eeh 1 EEH event poll timer (seconds) True
- timer_error 1 Error poll timer (seconds) True
- timer_link 1 Link poll timer (seconds) True
- timer_stats 0 Statistics poll timer (seconds) True
- tx_comp_cnt 2048 Tx completions before hardware notification True
- tx_comp_limit 1 Tx completions processed per event False
- tx_free_delay no Delay free of Tx packet mbufs True
- tx_limit 1024 Tx packets sent per transmit thread True
- tx_max_pkts 1024 Tx queue maximum packet count True
- tx_notify_cnt 64 Tx packets per Tx complete notification True
- tx_swq_max_pkts 8192 Software Tx queue maximum packet count True
- use_alt_addr no Request alternate Ethernet address True
- vpd_missing no VPD is not present True
可以使用 no AIX 命令管理网络的调优参数。例如:
no -a output
- arpqsize = 1024
- arpt_killc = 20
- arptab_bsiz = 7
- arptab_nb = 149
- bcastping = 0
- bsd_loglevel = 3
- clean_partial_conns = 0
- delayack = 0
- delayackports = {}
- dgd_flush_cached_route = 0
- dgd_packets_lost = 3
- dgd_ping_time = 5
- dgd_retry_time = 5
- directed_broadcast = 0
- fasttimo = 100
- hstcp = 1
- icmp6_errmsg_rate = 10
- icmpaddressmask = 0
- ie5_old_multicast_mapping = 0
- ifsize = 256
- igmpv2_deliver = 0
- init_high_wat = 0
- ip6_defttl = 64
- ip6_prune = 1
- ip6forwarding = 0
- ip6srcrouteforward = 1
- ip_ifdelete_notify = 0
- ip_nfrag = 200
- ipforwarding = 0
- ipfragttl = 2
- ipignoreredirects = 0
- ipqmaxlen = 100
- ipsendredirects = 1
- ipsrcrouteforward = 1
- ipsrcrouterecv = 0
- ipsrcroutesend = 1
- limited_ss = 0
- llsleep_timeout = 3
- lo_perf = 1
- lowthresh = 90
- main_if6 = 0
- main_site6 = 0
- maxnip6q = 20
- maxttl = 255
- medthresh = 95
- mpr_policy = 1
- multi_homed = 1
- nbc_limit = 12582912
- nbc_max_cache = 131072
- nbc_min_cache = 1
- nbc_ofile_hashsz = 12841
- nbc_pseg = 0
- nbc_pseg_limit = 25165824
- ndd_event_name = {all}
- ndd_event_tracing = 0
- ndogthreads = 0
- ndp_mmaxtries = 3
- ndp_umaxtries = 3
- ndpqsize = 50
- ndpt_down = 3
- ndpt_keep = 120
- ndpt_probe = 5
- ndpt_reachable = 30
- ndpt_retrans = 1
- net_buf_size = {all}
- net_buf_type = {all}
- net_malloc_frag_mask = {0}
- netm_page_promote = 1
- nonlocsrcroute = 0
- nstrpush = 8
- passive_dgd = 0
- pmtu_default_age = 10
- pmtu_expire = 10
- pmtu_rediscover_interval = 30
- psebufcalls = 20
- psecache = 1
- psetimers = 20
- rfc1122addrchk = 0
- rfc1323 = 1
- rfc2414 = 1
- route_expire = 1
- routerevalidate = 0
- rtentry_lock_complex = 1
- rto_high = 64
- rto_length = 13
- rto_limit = 7
- rto_low = 1
- sack = 1
- sb_max = 33554432
- send_file_duration = 300
- site6_index = 0
- sockthresh = 85
- sodebug = 0
- sodebug_env = 0
- somaxconn = 1024
- strctlsz = 1024
- strmsgsz = 0
- strthresh = 85
- strturncnt = 15
- subnetsarelocal = 1
- tcp_bad_port_limit = 0
- tcp_cwnd_modified = 0
- tcp_ecn = 0
- tcp_ephemeral_high = 65535
- tcp_ephemeral_low = 32768
- tcp_fastlo = 0
- tcp_fastlo_crosswpar = 0
- tcp_finwait2 = 1200
- tcp_icmpsecure = 0
- tcp_init_window = 0
- tcp_inpcb_hashtab_siz = 24499
- tcp_keepcnt = 8
- tcp_keepidle = 14400
- tcp_keepinit = 150
- tcp_keepintvl = 150
- tcp_limited_transmit = 1
- tcp_low_rto = 0
- tcp_maxburst = 0
- tcp_mssdflt = 8960
- tcp_nagle_limit = 65535
- tcp_nagleoverride = 0
- tcp_ndebug = 100
- tcp_newreno = 1
- tcp_nodelayack = 1
- tcp_pmtu_discover = 1
- tcp_recvspace = 876544
- tcp_sendspace = 876544
- tcp_tcpsecure = 0
- tcp_timewait = 1
- tcp_ttl = 60
- tcprexmtthresh = 3
- tcptr_enable = 0
- thewall = 50331648
- timer_wheel_tick = 0
- tn_filter = 1
- udp_bad_port_limit = 0
- udp_ephemeral_high = 65535
- udp_ephemeral_low = 32768
- udp_inpcb_hashtab_siz = 24499
- udp_pmtu_discover = 1
- udp_recv_perf = 0
- udp_recvspace = 786432
- udp_sendspace = 262144
- udp_ttl = 30
- udpcksum = 1
- use_sndbufpool = 1
作为参考,我们列出了以下针对混合 AIX/Linux GPFS 集群的 Spectrum Scale 集群可调优参数。下面的参数前面的“!”标志表示一些可调优参数已根据默认值进行了更改。最新版的 Spectrum Scale 拥有自动调优特性,更改 workerThreads 还会导致其他可调优参数自动根据默认值进行更改。(以粗体)突出显示的参数被视为最重要的可调优参数,应该首先考虑更改它们。请注意,对于 ESS,在 ESS 安装过程中已更改了许多默认配置值。ESS 已经过高度优化,所需的调优更改极少。
AIX 节点
- ! ccrEnabled 0
- ! cipherList AUTHONLY
- ! deadlockDataCollectionDailyLimit 10
- ! deadlockDetectionThreshold 0
- ! dmapiFileHandleSize 32
- ! expelDataCollectionDailyLimit 10
- ! logBufferCount 20
- ! logWrapThreads 128
- ! maxblocksize 16777216
- ! maxBufferDescs 32768
- ! maxFilesToCache 50000
- ! maxMBpS 24000
- ! maxReceiverThreads 128
- ! maxStatCache 10000
- ! minReleaseLevel 1502
- ! pagepool 34359738368
- ! prefetchPct 40
- ! scatterBuffers 0
- ! seqDiscardThreshhold 1073741824
- ! socketMaxListenConnections 512
- ! worker1Threads 1024
- ! workerThreads 1024
ESS/Linux 模式
备注:ESS 安装过程已设置了这些非默认参数中的许多参数。
- ! ccrEnabled 0
- ! cipherList AUTHONLY
- ! deadlockDataCollectionDailyLimit 10
- ! deadlockDetectionThreshold 0
- ! dmapiFileHandleSize 32
- ! envVar MLX4_USE_MUTEX 1 MLX5_SHUT_UP_BF 1 MLX5_USE_MUTEX 1
- ! expelDataCollectionDailyLimit 10
- ! flushedDataTarget 1024
- ! flushedInodeTarget 1024
- ! ioHistorySize 65536
- ! logBufferCount 20
- ! logWrapAmountPct 10
- ! logWrapThreads 128
- ! maxAllocRegionsPerNode 32
- ! maxBackgroundDeletionThreads 16
- ! maxblocksize 16777216
- ! maxBufferCleaners 1024
- ! maxBufferDescs 2097152
- ! maxFileCleaners 1024
- ! maxFilesToCache 50000
- ! maxGeneralThreads 1280
- ! maxInodeDeallocPrefetch 128
- ! maxMBpS 24000
- ! maxReceiverThreads 128
- ! maxStatCache 10000
- ! minReleaseLevel 1502
- ! myNodeConfigNumber 1
- ! nsdClientCksumTypeLocal NsdCksum_Ck64
- ! nsdClientCksumTypeRemote NsdCksum_Ck64
- ! nsdInlineWriteMax 32768
- ! nsdMaxWorkerThreads 3072
- ! nsdMinWorkerThreads 3072
- ! nsdMultiQueue 512
- ! nsdRAIDBlockDeviceMaxSectorsKB 8192
- ! nsdRAIDBlockDeviceNrRequests 32
- ! nsdRAIDBlockDeviceQueueDepth 16
- ! nsdRAIDBlockDeviceScheduler deadline
- ! nsdRAIDBufferPoolSizePct (% of PagePool) 80
- ! nsdRAIDEventLogToConsole all
- ! nsdRAIDFastWriteFSDataLimit 262144
- ! nsdRAIDFastWriteFSMetadataLimit 1048576
- ! nsdRAIDFlusherBuffersLimitPct 80
- ! nsdRAIDBlockDeviceQueueDepth 16
- ! nsdRAIDBlockDeviceScheduler deadline
- ! nsdRAIDBufferPoolSizePct (% of PagePool) 80
- ! nsdRAIDEventLogToConsole all
- ! nsdRAIDFastWriteFSDataLimit 262144
- ! nsdRAIDFastWriteFSMetadataLimit 1048576
- ! nsdRAIDFlusherBuffersLimitPct 80
- ! nsdRAIDFlusherBuffersLowWatermarkPct 20
- ! nsdRAIDFlusherFWLogHighWatermarkMB 1000
- ! nsdRAIDFlusherFWLogLimitMB 5000
- ! nsdRAIDFlusherThreadsHighWatermark 512
- ! nsdRAIDFlusherThreadsLowWatermark 1
- ! nsdRAIDFlusherTracksLimitPct 80
- ! nsdRAIDFlusherTracksLowWatermarkPct 20
- ! nsdRAIDMaxTransientStale2FT 1
- ! nsdRAIDMaxTransientStale3FT 1
- ! nsdRAIDReconstructAggressiveness 1
- ! nsdRAIDSmallBufferSize 262144
- ! nsdRAIDSmallThreadRatio 2
- ! nsdRAIDThreadsPerQueue 16
- ! nsdRAIDTracks 131072
- ! nspdQueues 64
- ! numaMemoryInterleave yes
- ! pagepool 76168560640
- ! prefetchPct 40
- ! prefetchThreads 341
- ! scatterBuffers 0
- ! scatterBufferSize 262144
- ! seqDiscardThreshhold 1073741824
- ! socketMaxListenConnections 512
- ! syncWorkerThreads 256
- ! worker1Threads 1024
- ! worker3Threads 32
- ! workerThreads 1024
来源: http://www.ibm.com/developerworks/cn/linux/l-infrastructure-for-sas/index.html