Replies: 1 comment
-
4.出问题的时候其他场景,能正常游戏,没有任何影响,很难传送到出问题的场景,传送到出问题的场景也因为卡顿很难离开 从这点和从endless loop 来看。要么死循环了,要么消息太多了。 如果是按帧渲染的 有可能是一帧处理不完消息 一直堆积 这个时候 你可以 debug console 看看 队列情况 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
不清楚现在issue是否还能提问题
1.最近用skynet开发了一款mmo,基本的结构是每个玩家是个msgagent服务,每个场景是2个服务,1个是场景用于处理逻辑的,另一个是使用云大的caoi模块做成的单独的服务。
2.机器配置是16核心32G内存
3.目前遇到的问题是某些场景在在线人数800+偶发卡顿,一天会发生几次。卡顿的时候aoi模块看着还能正常,人物移动还能刷出来npc。但是点npc对话很难打开。发生问题后,不处理会在几十分钟到个把小时后恢复正常。
4.出问题的时候其他场景,能正常游戏,没有任何影响,很难传送到出问题的场景,传送到出问题的场景也因为卡顿很难离开
5.出现问题的时候机器的cpu并不是很高,应该是只有出问题的那个场景服务的核心跑满了。
6.出现问题的概率应该跟玩家数量相关,但并不是某个场景人数多久一定能触发。如果所有玩家一直待在这个场景反而在线人数很高也不会卡顿,但是如果玩家频繁切场景很容易触发。这是怀疑的一个点。
7.出问题后在msgagent处理message的时候加了skynet.trace(),出现问题时,场景服务处理客户端的请求耗时并不高。
8.出现问题的时间段日志里存在maybe in an endless loop
9.有个问题是出现endless的持续时间并不长,可能在几分钟,但是需要恢复的时间在20分钟往上。
10.目另外一个怀疑是是场景里的统一的定时器,在定时器里处理某个逻辑时消耗太复杂。定时器代码
希望各位能给点思路帮忙排查问题
Beta Was this translation helpful? Give feedback.
All reactions