1. 首先要知道,网络转发核是 HCI 虚拟网络数据面(很多人也叫 dp)使用来转发数据包的。
就是主机详情页这里的图:
是否启用独占这里很关键,老版本(6.3.0及之前的版本)默认是单核非独占,6.7.0 及之后的版本默认是单核独占。
独占的意思是这个核会以轮询的方式 100% 被 dp 占用,非独占则是中断的方式,也就是说,CPU 用多少占多少。
这个不知道也没关系,只要记住一点:独占的性能比非独占高就行了。
2. 实际客户环境中,要判断什么样的现象是转发核性能问题导致的
vxlan ping,670之前(不含)的版本是用 ping,670 及之后的版本是 dpping
# 670及之前的版本ping探测日志是
/sf/log/blackbox/today/LOG_ping_statistic.txt
# 容器化之后是
/sf/log/vn-blackbox/today/LOG_ping_statistic.txt
3. 再进一步确认 dp 各转发核的瓶颈
(1)首先先确认转发核是否独占,有几个转发核,都是哪些转发核
# 680 及之前的版本查看
/sf/cfg/netrc.conf
# 690 及之后的版本查看
/sf/cfg/vn/netrc.conf
(2)再确认这些转发核的 CPU 占用情况
# 快捷查看命令,把其中的 0 换成你在 netrc.conf 中看到的 NET_FWCORE_LIST,比如只有一个核 0 就是
grep -E "(\[24| 0 |CPU)" /sf/log/blackbox/today/LOG_cpuocp.txt
# 两个核 0,1 就是
grep -E "(\[24| 0 | 1 |CPU)" /sf/log/blackbox/today/LOG_cpuocp.txt
4. 再进一步确认是什么影响转发核性能不足了
一般是流量突增,或者流量比较高,或者流量有偏载
这个可以通过前端主机详情页网口流量统计那里可以观测到,也可以后台看黑盒两个统计:
然后可以人工统计一下,举个例子,比如下面统计两个时间段的单播广播组播流量(两个时间段的值相减/时间间隔,注意下面这里时间间隔是 28s,这里除 22 不对)
如果是非独占的环境,有些很老的版本,比如 5.8.X 系列或更低的版本,建议开启独占即可,其余环境,建议开启 4 核独占,一次到位。
如果是已经单核独占的环境,通过上面的方法发现性能不足了,直接调整成 4 核独占
如果是已经开启 4 核独占的环境,还遇到这种持续高时延的情况,那可能是别的性能问题,需要综合各方面来判断,这种情况就直接联系 VN技术支持吧
转发核引起的 dp 性能问题,主要的现象是 ping 时延高,只要网口被 dp 接管,都可以用来测试,比如你要测业务口,就测虚拟机 ping 网关,要测 vxlan 就 vxlan ip 探测,如果管理网和业务网/vxlan复用,还可以观测管理网的探测来进一步佐证。
注意非独占观察 CPU 占用率就是实际占用率,如果是独占,则需要看 dpdebug 4 来观测实际占用率,如果没有这个工具,就只能通过时延情况和流量情况来间接判断是否达到转发核性能瓶颈了