配置 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。与初始环境测试中的其他 Spectrum Scale 可调优参数相比,增加客户端节点上的 Pagepool 提供了最大的性能改善。根据其他环境中的后续相关 ESS GL4 测试,我们预计,如果客户端节点上的 Pagepool 从 32 GB 增长到 64 GB,与本文中报告的数字相比,性能将提高 5% 到 10%。
- Pagepool、workerThreads、prefetchPct、maxFilesToCache、maxblocksize 和 maxMBpS
因此,以下突出显示的参数被视为最重要的可调优参数,应该首先考虑更改它们。请注意,对于 ESS,在 ESS 安装过程中已更改了许多默认配置值。ESS 经过了高度优化,对于我们的测试,所需的调优更改极少。例如,ESS 节点的 Pagepool 的最大默认大小为 72 GB。请参阅 附录:调优参数 ,了解 Spectrum Scale 配置可调优参数的完整列表。
运行 AIX 的客户端节点:
- maxblocksize 16777216
- maxFilesToCache 50000
- Pagepool 34359738368
ESS/Linux 节点:
- maxblocksize 16777216
- maxFilesToCache 50000
- seqDiscardThreshhold 1073741824
备注:在 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