[分享] Spigot的一个小BUG

楼主: softpak (喔喔喔)   2017-05-07 01:06:14
其实我发现这个问题一直都在
只是通常开服者会固定重启服务器
所以这个问题相较之下不是很严重
不过我相信还是有很多服开着不关也很少重开的
因为我的服也是这样
所以也察觉到这个问题的严重性
相关的内容我也有同步发到spigot的论坛上
不过官方会不会改我就不清楚了
希望可以改掉这个问题
接下来就说一下这到底是什么问题好了
就是服务器如果好几天不关
我的服是4~5天
这个tracker set的大小在我的服务器里就会成长到50万以上
然后在没玩家的情况下tps只有10左右
timing里时间的花费则是30~40ms
http://i.imgur.com/K7hvXH5.png
已经超过半个tick了
会LAG不意外?
这个问题我分了2个阶段解决
第一阶段是track的的平行化
问题是稍微有解决没错
但是没玩家时TPS却还是降到18左右(use 4 cores)
有玩家就会变成17
但问题是没有人在线上到底要追踪啥?
于是我认为应该是这个set里的entry没有正确的被删除所导致
所以第二阶段我做了一个全面检查
目前是在玩家转换世界时才会触发这个检查
因为经过传送门都会顿我觉得应该没差吧 XDDD
希望spigot能够去修正这个问题
如果没有 我的专案有修正 囧
不过目前还是在观察阶段
之前有确定确实是tracker set太大导致
因为我有测试这个set大于20万就清空
然后tps一路19以上持续30多天的纪录
期间玩家登入数跟频率是差不多的
不过就是一些机关挂点
生物有时会不动这样 XDDD
希望对大家有帮助
作者: olys (查无暱称)   2017-05-07 14:21:00
原来如此,之前就奇怪内存为什么回收机制运作不佳
作者: CardLin (卡林)   2017-05-07 20:16:00
这问题我有遭遇过!基本上跟CPUtime与MBtime有很大的关联因为有段时间地磁场异常而造成CPU时间与主机板时间不同步TPS一直以来都不是问题,最主要的是玩家不要为小事吵架!毕竟挖矿盖房屋的TPS一点都不重要,重要的是不能遗漏封包这我就更清楚了我有换过六张以上的网卡来运行我的服务器!基于不能透漏太多时间不同步的情况,我会用多组NTP监测喔如果电脑能接个USB的GPS接收器到窗台接收GPS时间很不错!这样你每秒钟就可接收到数个卫星传送给你的时间讯号校正!如此一来你的TPS就能算得更精确而非软硬件上的误差值!规则一定要订的够严谨不能有多个OP会有小圈圈的排挤效应!
作者: mamaya3 (mamaya)   2017-05-07 20:26:00
断!
作者: CardLin (卡林)   2017-05-07 20:30:00
重新启动主要是确保时间数值不会因为Overflow而发生异常!毕竟早上六点重开就是要大家知道可以开始准备早餐去上班!但考虑有些是早上要去开门工作的老板所以五点重开也不错!但我觉得现在都已经电子化时代了,或许可以用日出为依据!
作者: LPH66 (-6.2598534e+18f)   2017-05-07 20:38:00
我怎么觉得楼上有点搞错原 PO 在讨论的问题了...这个 bug 应该是跟世界中的 entity 数量有关, 和时间没啥关时间在这个问题里只是经过越久问题越严重而已这里的时间也是游戏内时间而不是服务器机器上的时间
作者: CardLin (卡林)   2017-05-07 20:41:00
我知道有些很厉害的玩家会从其他服务器跑来繁殖别人农场!
作者: LPH66 (-6.2598534e+18f)   2017-05-07 20:41:00
跟 NTP 或 GPS 对时什么的就更没有关系了
作者: CardLin (卡林)   2017-05-07 20:42:00
致使农场动物过多而有 Small Overlap 的 Collision 情况!如果时间异常根本就可能会影响农场中的动物繁殖的速度喔!但如果时间异常到有负值的时候根本就会一直重复的繁殖了!当然这是在硬件或作业系统Kernel有BUG的时候才会发生异常还记得千禧年的时候其实喊得很大声结果其实根本没有异常!所以其实网络病毒的情况真的要注意与谨慎小心评估再选择!毕竟有些BIOS拥有一些安全性处理器也有自己的时间容器吧~说错了,有些CPU为了加速启动而使用了特殊的开机程序较快这样较快的结果就有可能使用了不同的时间容器而发生异常!当然网卡若有offload的功能也有自己的时间所以我才换网卡让我想起我的Marvell的网卡很稳定但有段时间开始乱丢封包我还有换过Intel网卡但是那个驱动的IRQ使用率实在有点高!我还试过Killer的网卡但因为好像没有放出linux的驱动程式所以最后我是选用了较ASIC大面积的Broadcom网卡才较稳定!大家应该要清楚以前的Realtek在安装linux的时候不会出现non-free driver的提示,代表Linux较能完整支援旧网络卡!
作者: LPH66 (-6.2598534e+18f)   2017-05-07 21:11:00
…就说了这是游戏内经过的模拟时间长, 而不是机器时间异常他这个 bug 是在机器时间正常的机器上也会出现 (如一楼)那所以跟机器时间有关的校时 / NTP / GPS 定时 / 网卡连线等等之类的通通无关
作者: CardLin (卡林)   2017-05-07 21:19:00
http://i.imgur.com/DBoGlKk.jpg 建议原PO检查网卡驱动!!因为在Traffic Offload的时候一定会反复地与CPU校准时间!CPU发现网卡时间与CPU时间不同的话可能会hold住一段时间!所以在DPC Latency很低的时候代表IRQ通常没有异常的情况~大家应该要记得以前有个知名的linux系统有lowlatency核心
作者: mamaya3 (mamaya)   2017-05-07 21:32:00
可以去翻他以前的文 别跟他认真了XDDD
楼主: softpak (喔喔喔)   2017-05-07 22:32:00
作者: karuru (SHIRO)   2017-05-08 08:02:00
上面到底在供三小
作者: nick5487 (nick5487)   2017-05-08 10:01:00
居然攻略到卖快板来了...
作者: Kenqr (function(){})()   2017-05-08 10:19:00
其实是自动发废文AI对吧
作者: twosheep0603 (两羊)   2017-05-08 13:28:00
躁郁症发作吧 哀
作者: m01a011 (亚瑟)   2017-05-08 15:59:00
上面是复制贴上的感觉...
作者: david50407 (Davy)   2017-05-08 23:43:00
只有我觉得卡林桑可以一直保持惊叹号在最后很厉害吗XD
作者: aalexx (aalexx.S)   2017-05-09 02:04:00
句尾几乎都是惊叹号XD
作者: tonylo2ooo (Logo)   2017-05-10 10:00:00
上面一堆厨,上次把你的project po上去,还被砲
楼主: softpak (喔喔喔)   2017-05-10 12:30:00
po到哪被砲啊?我知道我的进度不是很快是蛮想知道哪个中文讨论区有在讨论的 XD
作者: cras4202tw (cras4202tw)   2017-05-10 22:00:00
我都几个月重开一次的 spigot 没出现过你说的问题不解释创世神服务器 服务器跑在 ESXi 本身是 i7-7700k32G RAM 我切割 4核心 4G 内存给它系统是 Fedora server 25
楼主: softpak (喔喔喔)   2017-05-11 12:26:00
硬件看起来是不差,另外我看了一下规则,可能是生物限制上的问题前几天去西瓜看 管理员是说大概是2到4个礼拜 甚至更久才会重开他的服跟nl一样是没有限制的而我这几天发现服务器一直在触发全面检查的机制,所以我认为应该是传送门传送物品这个功能的关系如果可以的话 麻烦有开服的板友 在lag重开前能否纪录一下timing的状况 然后确认服务器是否有打开传送门生怪的设定

Links booklink

Contact Us: admin [ a t ] ucptt.com