命令耗时限制机制前后系统负载同比变化
上周二 VS 本周二系统负载下降了10-20%,效果明显,比巫师半年的优化成果都强得多。充分说明只修路,不限车,路永远会堵。有不在乎系统负担的狂刷命令机器人在,无论如何优化,挤出来的资源都会很快被消耗光。
但也有部分玩家反映限制了正常任务,或者某些正常命令耗时极高。为此也做了一些优化,比如常用命令不纳入统计,增强了剑心居等等,同时,限制标准也在不断根据观察结果调整中。
但无论如何,总会有玩家觉得自己的高效模式被限制了,这也是没有办法的事情。不是客户端能支持,玩家网速和精力能支持,服务器就一定要配合支持的。大家都拼命高效刷命令,服务器端资源就这么多,最终的结果就是大家都卡。本机制的任务就是让有限的cpu尽量满足大部分玩家的需要,并维持丝滑体验。最理想的状态是,高峰期cpu接近满载,又不感觉卡顿,低谷期cpu也不至于掉到底。
下一步该重构高耗命令了? creat 发表于 2023-4-4 11:56 PM
下一步该重构高耗命令了?
有一部分已经在做了。有了命令耗时统计,可以更科学更精准地进行优化。但还是那句话,光靠巫师优化是不行的,需要玩家配合优化自己的机器人,否则挤出多少都会被榨干
暗杀任务我怀疑有问题,当然也不一定啊,我只是感觉。接了个暗杀台,做了暗杀任务,耗时貌似就高。 act命令不加入耗时统计了 addoil set adv_quest 50
设定环境变量:adv_quest = 50
unset adv_quest
Ok.
由于unset时服务器没有回复哪个环境变量被unset了,只给返回了一个通用的Ok.所以导致无法在本地做变量更新,机器只能反复发送unset,确保指令送达
set指令我看也占用了不少耗时,烦请优化一下,回复告诉用户是哪个环境变量被unset了。
--------------------------------
另外也观察到#命令1,命令2#的格式,服务器耗时占比远比单个命令要低,wiz确认下是否建议大家机器人都往这个格式做? mrkk 发表于 2023-4-5 03:38 PM
set adv_quest 50
设定环境变量:adv_quest = 50
unset adv_quest
unset提示取消的变量名了。
#命令1,命令2#这种实际花费时间相当于命令1+命令2+#的解析时间,不建议专门使用这种格式 │i2 │17 │115580 │
│i │74 │113185 │
i渲染的东西和复杂度应该比i2要多和复杂
但实际的渲染消耗只有大约1/5…… 本帖最后由 shawnguosx 于 2023-4-5 06:01 PM 编辑
支持限制坏机器的机制,但希望能尽快完善机制,能精准限制坏机器而不要误杀正常玩家
比如现在的连续上榜就会被限死一小时这个办法,我觉得是有不妥的地方的
因为如果纯粹的坏机器,是会狂刷命令,命令数会很明显的多,第一次上榜之后就会被限制命令数,这样坏机器肯定是不会连续第二次上榜的,所以连续上榜的惩罚限制基本不会限制到坏机器头上
那连续上榜的只会是正常输入命令但输入的命令消耗高的玩家,命令数不超6个一秒,这样就算受限了,玩家也未必能看出,但会上榜,因为命令的耗时高,而且有机会连续上榜,而这个限死的机制基本就只会限制到这类玩家。
基本上连续上榜限死一小时这个方法,我想初衷是把坏机器彻底限死,不要周而复始地影响服务器,但实际情况是绝大部分都是限到到能耗偏高的正常玩家,而坏机器如果主人不管的话,只会隔一个周期被限一次而已