-
Notifications
You must be signed in to change notification settings - Fork 143
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
请教下服务器宕机与恢复时配置优化问题 #129
Comments
1 问题不大 |
@ruanshudong 第二点:我们使用的nodejs开发的,在服务器恢复时,会出现RPC到故障服务器请求超时,持续1分钟左右,实际服务器又是启动成功的。第二点配置有什么问题不? |
第二点会加大数据库和主控的压力, 如果数据库配置还可以, 也无所谓 |
把服务到主控的刷新时间缩短看看 |
@ruanshudong 我使用的ngrinder模拟接口测试(我们是模拟轮询用户跑接口流程),TPS从6000下降到0,到负载到这个服务器的玩家就请求超时(我们超时是30S)。你的说的是调整loadObjectsInterval1=5参数? |
改模板里面的refresh-endpoint-interval=60000 服务器是挂了, 端口连接拒绝还是什么现象, 这个时候telnet挂的服务器是什么现象? |
1.我们使用云数据库性能应该还可以; |
efresh-endpoint-interval 刷新我们设置的是3S |
端口连接拒绝还是什么现象, 这个时候telnet挂的服务器是什么现象? |
能把现象完整描述一遍? |
背景:对容器关闭,服务器宕机灾演,命令docker stop(关闭容器) 与shutdown -h now(关闭服务器) 默认配置下进行测试结果: 第一次调整: 第二次调整(第一次基础上) 第三次调整(第二次基础上) |
都是nodejs的有问题, go的没问题? |
是的,故障时是go、nodejs都有问题,恢复时只有nodejs服务的servant请求超时(我们有16个http节点我统计三台的超时日志都是nodejs的,nodejs跟go接口占比在2:1左右)。 |
都是http协议, 不是tars协议的服务? |
架构是http+后端业务,服务间通讯都是tars协议的。 |
nodeTimeout=45, nodeTimeoutInterval=15 把这两个时间调低, 不过目前最低是15秒, 不能再低了, 调成15秒, 按照描述是15后恢复, 你试一试 |
模拟服务器宕机后待TPS恢复到6000,1分钟后恢复服务器,出现45S-1分钟TPS下降到0; |
嗯 这个我后面找时间试下,请教下,恢复后还出现TPS到0这种情况具体原因是啥有思路吗? |
目前看起来容器化以后, 似乎关机会有问题, 这个问题我近期专项看一下 |
好的 谢谢大佬,这个是必现的有需要艾特我 |
你这里蛮奇怪就是, 客户端也有屏蔽逻辑, 连不上会自己屏蔽的, 怎么感觉都没生效 |
1.项目中tarsnode节点数在一千个节点以内,希望在tarsnode节点出现异常及时尽早被主控发现,tars.tarsregistry配置模板参数文件中nodeTimeoutInterval配置保护是15S,目前我的配置是nodeTimeout=45,nodeTimeoutInterval=15,根据项目情况希望重新编译调小这两值到nodeTimeout=15,nodeTimeoutInterval=5,这样调整会有其他问题或风险不,或者有其他建议不?
2.项目tarsframe使用master、多slave架构,在服务器出现异常宕机时,如果快速恢复服务器,会出现二次故障。问题是在恢复期间会被分配到故障服务器节点,导致RPC超时。目前我的处理是loadObjectsInterval1=10, LeastChangedTime1=30,queryInterval=30,querylesttime=60,在故障后至少100S去恢复。我中间有尝试loadObjectsInterval1,LeastChangedTime1调整到5,但是还是出现二次故障,大佬们帮忙看下可能是什么原因,分析下这几个参数关联?
The text was updated successfully, but these errors were encountered: