ceph 硬件选型、性能调优(*)

ceph 硬件选型、性能调优(*),第1张

1、应用场景挑选

2、CPU:一个OSD至少1个CPU核

内存:一个OSD1GB内存;恢复时1TB1GB内存

网卡:万兆网卡

硬盘:SSD做日志盘,10-20GB;建议4个OSD数据盘配一个SSD;

3、硬件方面调优:

-一个OSD进程对应一个CPU

-mon和mds需要2GB内存,osd需要至少1GB内存

-SSD选择:Intel SSD DC S3500 Series

-BIOS上开启VT和HT;关闭节能

-关闭NUMA

4、 *** 作系统方面调优:

-SSD的IO调度使用:NOOP 机械的IO调度使用:deadline

-设置更大预读:echo "8192">/sys/block/sdX/queue/read_ahead_kb

-设置进程数量:echo 4194303>/proc/sys/kernel/pid_max

-调整CPU频率:echo performance|tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor>/dev/null

-关闭交换分区:vm.swappiness=0

-cgroups??????

5、网络方面调优:

-MTU调整到9000

-手动设置中断亲和或者使用irqbalance

-打开TOE:ethtool -K ens33 tso on

-RDMA????

-DPDK????

6、ceph方面调优:

-echo 131072>/proc/sys/fs/file-max

-filestore参数调优

-OSD参数

由于项目中需要用到dpdk,当时在服务器平台选型上有如下2种不同配置可供选择,为了理解老的Xeon处理器和Xeon金牌处理器对DPDK转发性能的影响,需要在两台服务器上分别进行DPDK l3fwd性能转发测试。

采用如下拓扑进行测试,测试仪的4个10GE端口连接X710-DA4的4个接口,测试时测试仪的4个端口同时打流,经过服务器DPDK转发后分别从X710-DA4网卡的不同接口送出,在测试仪的4个端口查看是否有丢包。在无丢包的情况下测试仪端口打流的最大速率即为服务器端DPDK能够提供的最大转发能力,以MPPS为单位。

(1) 在服务器上运行dpdk

./examples/l3fwd/x86_64-native-linux-gcc/l3fwd -l 4,6,8,10 -n 4 -w 0000:04:00.0 -w 0000:04:00.1 -w 0000:04:00.2 -w 0000:04:00.3 -- -p 0xf --config="(0,0,2),(1,0,4),(2,0,6),(3,0,8)"

运行l3fwd前有一些准备工作:

上述是DPDK官方的性能测试报告中建议的BIOS配置,在实际测试用我没有修改CPU C-state和P-state,并关闭了超线程的功能。

也可以通过 cat /sys/class/net/p6p1/device/numa_node 查看

在上述 *** 作完成后便可以知道dpdk运行时应该设置参数。

(2)测试仪打流

在l3fwd运行起来后,会添加192.18.0.0/24、192.18.1.0/24、192.18.2.0/24、192.18.3.0/24四个网段的路由,因此在测试仪端4个端口设置流的时候需要将流的目的IP地址分别设置为上述4个网段的地址,流的目的MAC地址设置为对应接口的MAC地址。

上述的DUT2对应Server01,DUT3对应Server02,DUT1的性能数据和配置是从DPDK的性能测试报告中拿到的。DUT1、DUT2和DUT3的配置对比如下。

从测试结果可以看出,DUT3上运行DPDK就能够实现64字节数据包的线速转发。对比DUT2和DUT3的转发性能可以看出,基于 Xeon Gold 5118处理器的平台相比老的Xeon处理器平台,转发性能是有一定提升的。

当然,从我个人的理解来看,现在的转发测试只是测4条路由表的情况,路由表均能够存放到处理器的一级cache中,没有大规模内存访问的压力。如果有大规模的路由表或者服务器上多个网卡同时收发数据,并且涉及到跨网卡之间的数据包转发,当前的服务器能否实现性能的线性扩展还需要后面进一步测试。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11179071.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存