iKuai爱快流控路由

标题: 爱快cpu核心没法充份使用,导致软路由网络卡顿,掉包延迟大 [打印本页]

作者: fuzren    时间: 2018-8-12 15:39
标题: 爱快cpu核心没法充份使用,导致软路由网络卡顿,掉包延迟大
我软路由配置是e5-2660v2*2   40线程的处理, 64g 内存, 在线端数达4600,并发连接数达40万的时候,通过控制台看到很多核心都100%了,可这只使用到机器的28线程,剩余12线程完全是0负载的,可以通过以下图看到 (, 下载次数: 40)
已经有很多核心满载了,但是余剩的核心依然不使用.导致网络时不时卡顿,界面操作卡,无法负荷更多并发连接数
以下是软路由状态图和硬件图
(, 下载次数: 42) (, 下载次数: 46)
官方能解析下为什么核心用不满的情况?还是你们在设计产品的时候,没考虑到会用如此多核心的cpu ?

作者: cwbaixyh    时间: 2018-8-12 16:18
坐等官方回复
作者: wxz8506    时间: 2018-8-12 16:22
(, 下载次数: 34)

作者: coldcrysky    时间: 2018-8-12 16:27
4600多个终端,40万的连接数。。。你们是做什么的啊?:L:L:L

真没想到,iKuai这么稳定。。。哈哈,看来选对了。

换核心数少点的CPU呗。。。40线程,估计开发也没想到会用这样的CPU来做软路由吧。

另外,你写64G内存,为什么系统只认出32G内存?
当软路由,有必要上32G(或64G)内存吗?
作者: fuzren    时间: 2018-8-12 16:29
记错了,然后写错了哈哈不好意思
作者: fuzren    时间: 2018-8-12 16:31
coldcrysky 发表于 2018-8-12 16:27
4600多个终端,40万的连接数。。。你们是做什么的啊?

真没想到,iKuai这么稳定。。。哈哈,看来选 ...

换核心数少的它扛不住啊,不然我为什么花那么多钱换这个?现在e5处理器随便都3,4核线程了啊,既然走x86平台,不考虑这么多线程,爱快是不想做大吗?

作者: coldcrysky    时间: 2018-8-12 16:43
fuzren 发表于 2018-8-12 16:31
换核心数少的它扛不住啊,不然我为什么花那么多钱换这个?现在e5处理器随便都3,4核线程了啊,既然走x86平 ...

那有必要上64G内存吗?

我记得官方教程好像是说内存就是加载系统用,对于终端数量多少没有太大影响,实际使用过程中,还是靠CPU的强弱来带不同数量的终端数量吧。

平时内存(如果是64G)使用率能达到50%以上吗?
另外,为什么系统显示的是32G内存?
作者: ben4399    时间: 2018-8-12 18:08
楼主跑的万兆网卡?
作者: 爱快技术支持06    时间: 2018-8-12 19:42
楼主,留个联系方式,或者加下QQ群524685330,这是问题追踪群
加群的时候,附加下帖子链接,会有技术来追踪你这问题。

现在这个问题,论坛上已经无法有效回复你了,你加群后,技术这边会有专人来跟踪这个问题,
这样可以尽快确认问题,再考虑怎么解决。

作者: fuzren    时间: 2018-8-12 20:20
爱快技术支持06 发表于 2018-8-12 19:42
楼主,留个联系方式,或者加下QQ群524685330,这是问题追踪群
加群的时候,附加下帖子链接,会有技术来追踪 ...

早就申请加群了,一直都没通过,影响使用啊,不然何必继续在这里发?
作者: fytest01    时间: 2018-8-12 21:14
牛逼贴,跟踪一下。
作者: asdkfjaadsfadsf    时间: 2018-8-13 04:14
我觉得这正常,一个稳定软件是不会把核心数全部用光的,我设置Oracle数据库集群RAC共4台,每台40线程,最多只敢每台机器分配60%的线程数也就是24线程,其余16线程要留给系统用的,否则反而会造成一些莫名其妙的卡顿和瓶颈。曾经我设置为80%线程,但出现了很多不稳定,所以我觉得这个系统要稳定的话,主业务顶多分配60%就是上限了,还有一些要分给系统和一些突发任务的。
作者: fuzren    时间: 2018-8-13 11:02
asdkfjaadsfadsf 发表于 2018-8-13 04:14
我觉得这正常,一个稳定软件是不会把核心数全部用光的,我设置Oracle数据库集群RAC共4台,每台40线程,最多 ...

同理只要核心不满载不就一样?核心满载跟核心使用是两回事,都满了是性能不足
作者: 小明同学    时间: 2018-8-13 11:09
明显是CPU缓存用完了 再多绑CPU也没效率了
作者: fuzren    时间: 2018-8-13 11:44
从哪看出是缓存满了?
作者: yubin52133444    时间: 2018-8-14 10:18
66666,这数量不少呢,估计官方没有考虑到这么多核的CPU有效利用吧!!
作者: asdkfjaadsfadsf    时间: 2018-8-22 03:50
fuzren 发表于 2018-8-13 11:02
同理只要核心不满载不就一样?核心满载跟核心使用是两回事,都满了是性能不足 ...

多线程的系统开发需要这几个东东:
任务执行单元(Worker):每个CPU逻辑内核分配一个线程用于执行任务,通常取60%-70%的核心数用来分配执行单元 ,如果核心数总数小于等于4核,有的软件是分配全部核心使用,有的服务端软件为了稳定只分配2-3个核心,至少留下一个核心使用。这部分单元在执行任务时是大量占用核心资源,而等待任务时就只使用少量核心资源;
任务分配单元(我忘了英文咋说了):如果是持续执行任务的话,需要10%-15%的核心数用来做任务调度单元,需要将任务拆解打包分给前面的任务执行单元,同时将任务执行结果打包反馈,这部分单元只有在拆解任务和结果打包反馈时才会占用一定量的核心资源,其余时间都是处于等待状态,;

有的系统做得细致的话,又将任务分配单元细化,分解任务的单元和打包任务的单元分开设计。

一个多进程任务的系统很难100%地把全部CPU核心做到恰好吃光的,即使超负荷任务也不行,设计师需要仔细调教有多少个核心来参与任务分解、打包,有多少个核心来参与任务执行,做到这几个单元一起协同工作,这就需要各种场景的算法支撑了。

简单的压缩解压缩场景下,也许半个到核心执行任务分解和打包就够了,其余30个全部参与计算;

而网络环境下怎么分解打包我不懂,但我知道这很复杂,复杂到仅靠简单一两套算法是不够的,能尽量充分利用核心数来实现最大负载而不浪费资源,各家网络公司都有各自的专利,而路由系统索要的首先是稳定,然后才是负载,我想为了这个目的,设计师还是会浪费掉一些核心来达成稳定性的,至于浪费多少,就看该公司的技术功底了。从第一台多路CPU的电脑出现开始至今,有一点是无法打破的,越复杂的任务,越难把内核数量和资源吃光,吃得多的都是牛X大神,也只有像WinRAR这种简单场景可以把所有内核用光。


前面我说的Oracle的资源分配实际是一个经验值,60%也许不是最好,但是相对稳定的,为了提升性能将其分配到70%也可以,但实际使用场景下一是很少有用满这70%的,二是Oracle里任务调度分解使用的核心数也不会少,它是满足多用户使用的前提,具体问题具体分析,你的路由器资源分配在网络层面上我不懂,我只是从我了解的多CPU任务系统开发环境上给出看法,建议都算不上,因为这里头要估算的核心数分配在各个场景下完全不同。


另外一点我看了截图,总消耗大约在50%上下,估摸着应该是默认的开启超线程技术(Hyper Threading)。40个CPU就是40个物理内核,而是把20个物理内核资源用自己的技术提供出40个逻辑内核,Intel这么设计实际就是为了多内核任务调度做优化的考量,因为许多场景下任务调度和计算很少能出现持续把某个内核全部吃光的,偶尔会出现一下峰值可以忽略,当然如果时纯计算场景,比如计算超大质因数,这时候把超线程关掉反而更快,因为这种场景纯粹就是算,关掉HT可以完整把内核用满。
作者: wodexiaowei666    时间: 2018-8-25 14:45
最近看帖子感觉官方回避的问题越来越多了
作者: wxz8506    时间: 2018-8-25 15:44
wodexiaowei666 发表于 2018-8-25 14:45
最近看帖子感觉官方回避的问题越来越多了

有时候真搞不懂,很多问题都不在论坛里做个回复。跟小C还是小黑建议了。大部分都是说加bug追踪群处理,处理完的问题完全可以在论坛出个专门的帖子来更新,大家也可以去看看,遇到同类问题了的也可以自己就解决了,没有遇到的就可以顺带也可以了解一下,这也不是啥敏感或者涉及到爱快公司内部消息的话题。
作者: sd607858    时间: 2018-8-25 19:30
本帖最后由 sd607858 于 2018-8-25 20:21 编辑

我很专业的回复你,你的所有网卡使用的队列没有超过28个,导致你的WAN口队列没有饱和。升级更好的网卡即可让全部甚至是双路2699 V4x2 88个框框全部生效
看看你的CPU怎么搭配网卡建议看看我写的帖子
http://bbs.ikuai8.com/thread-85627-1-1.html
你的帖子问题就是以上链接这篇第1.0.4条的搭配导致的
引用:
网卡型号         支持的最高CPU
inte 82574L                双核
intel 82540~3        单核双线程
intel 82576           8核心16线程
intel 82546            4核心8线程
intel 82580            4核心8线程
intel i350-T4         8核心16线程
intel 82599          64核心128线程
intel x710           128核心256线程
BCM5782                   单核
BCM5704              2核心4线程
BCM5709              4核心8线程
BCM5670              4核心8线程
BCM57810S        64核心128线程
BCM820xx          128核心256线程


(注意以上支持最高CPU为单口,T2后面的就要x2 T4就要x4,特殊比如i350-T4 4口就支持32个队列,而不是16x4.因为i350一个die包含2口)



40线程我看用2张 i350-T4就能跑满所有核心
而你搭配的是82571和82574L等【你截图只有一部分】
这网卡都不是和2011这一代配合的,型号太老,队列太少,所谓的卡顿很直接是网卡内部队列出现了排队现象,从而导致CPU一核有难,多核围观。
运用好多队列网卡,对2011 以及V2平台会有很大的性能提升。

怎么升级看这里:
支持2011平台新特性的网卡有:
i210 i218 i350 x520 x710
至于8257x,8258x,8259x都不支持2011的 英特尔®数据直接I/O技术(英特尔®DDIO
https://www.intel.cn/content/www ... chnology-brief.html
搭配建议
Lan口全部队列数之和(lan口总数越少越好)=单张Wan口队列数
比如 Lan口i350T4 x4(32x4)=Wan口82599(128)


作者: sd607858    时间: 2018-8-25 20:27
asdkfjaadsfadsf 发表于 2018-8-22 03:50
多线程的系统开发需要这几个东东:
任务执行单元(Worker):每个CPU逻辑内核分配一个线程用于执行任务, ...

2680双路是20个物理核心 40个线程
作者: UriToby    时间: 2018-8-25 21:16
用2667V2解决这个问题
作者: fuzren    时间: 2018-10-24 03:50
sd607858 发表于 2018-8-25 19:30
我很专业的回复你,你的所有网卡使用的队列没有超过28个,导致你的WAN口队列没有饱和。升级更好的网卡即可 ...

你好啊,看到你这个回复我才想到跟网卡有关,但是我wan口是3张千兆4口的Intel Corporation 82571EB Gigabit Ethernet Controller 网卡,和一个2口千兆板载的
Intel Corporation 82574L Gigabit Network Connection网卡,lan口是一个万兆的
Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01) 的网卡,请问要如何配搭,才能发挥e5-2660v2*2   20核40线程的所有框框性能呢?
作者: sd607858    时间: 2018-10-25 17:13
fuzren 发表于 2018-10-24 03:50
你好啊,看到你这个回复我才想到跟网卡有关,但是我wan口是3张千兆4口的Intel Corporation 82571EB Gigab ...

万兆做WAN口的话,你的CPU就能全部利用了
作者: fuzren    时间: 2018-10-26 13:15
本帖最后由 fuzren 于 2018-10-26 13:19 编辑
sd607858 发表于 2018-10-25 17:13
万兆做WAN口的话,你的CPU就能全部利用了

我这里对接了14个光猫的,不可能用万兆做wan口,要配vlan 宽带太多了,3块i350 t4的可以吧?另外想问下,我之前买过几块 Winyaod的i350 t4的网卡 pci-e的,用着用着网卡速率就自动掉到10M了..要重起服务器才能恢复,有遇到过这样的情况吗?
作者: wxz8506    时间: 2018-10-26 13:21
大神贴,值得关注一下。
作者: maotouxiaozi    时间: 2018-10-26 15:16
markmarkmark
作者: chumu1990    时间: 2018-10-27 08:57
fuzren 发表于 2018-10-26 13:15
我这里对接了14个光猫的,不可能用万兆做wan口,要配vlan 宽带太多了,3块i350 t4的可以吧?另外想问下,我之前 ...

那个网卡不是跟蝶舞一个样的网卡吗

作者: ivi001    时间: 2018-10-28 15:08
fuzren 发表于 2018-10-26 13:15
我这里对接了14个光猫的,不可能用万兆做wan口,要配vlan 宽带太多了,3块i350 t4的可以吧?另外想问下,我之前 ...

万兆+VLAN不就解决了??
作者: dutian_007    时间: 2020-3-17 22:02
sd607858 发表于 2018-8-25 19:30
我很专业的回复你,你的所有网卡使用的队列没有超过28个,导致你的WAN口队列没有饱和。升级更好的网卡即可 ...

这个英特尔的数据直接IO技术,能蝗升多高的性能
作者: 高利伟    时间: 2020-7-9 13:02
我有6条1000兆宽带给出租屋用户每户200兆宽带。PPPoE拨号上网。我用什么网卡怎么设置求推荐
作者: zhoujian0502    时间: 2020-7-11 17:18
这个帖子的 查看每个cpu的使用率是怎么调出这个画面的呢。 谢谢




欢迎光临 iKuai爱快流控路由 (https://bbs.ikuai8.com/) Powered by Discuz! X3.3