-
Notifications
You must be signed in to change notification settings - Fork 4.3k
关于skynet网络收发问题 #646
Copy link
Copy link
Closed
Description
在网络收发量较大的时候(MMO大量场景广播消息),skynet socket线程那里表面看起来反应缓慢,accept和正常网络收发的反应都有较大延迟,下面描述下:
服务器负荷:
us 用户态占比 sy 系统态占比 id 空闲态占比 hi 硬中断 si 软中断 wa 等待IO
16核16G,每核心大致都是 (5-25us) + (5-30sy),且每核基本都能保持50id,偶尔会有一两个核有5-15si,没发现hi和wa
服务器出入口带宽使用:
出:30Mb/s 入:20Mb/s
内存使用:
较为平稳,关闭了swap
在出现卡点的时候,在socket线程epoll抛ACCEPT事件那里打log,发现在服务器本地nc上去,大概等了5秒才有反应并成功出log,如果是nc其他进程的端口则正常,证明有某些原因导致skynet epoll对事件的侦测出现了延缓,暂不确定是内核提交事件的延缓(系统抑或进程的部分缓冲区的限制?),还是skynet网络收发线程过于繁忙。但如上所述,如果是skynet线程问题,不应该出现16个核心有稳定的空闲态,这里比较费解。
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels