laoyao 同问
laoyao 卧槽,这还用问吗
egametang 我7.2目前是每台物理机都多进程的
egametang 请问下,ET7.2是要多进程吗?
laoyao 请问下,ET7.2是要多进程吗?
Liquor 进程之间发消息跟网络消息一样,需要序列化反序列化,单进程内多线程可以共享内存,拆路由作为单独进程是为了防攻击,路由进程跪了还能重启,不影响主程序
oldfist ET7.2没有多线程,所以是否应该是发布多进程呢?
laoyao 请问下您具体哪几个Scene放一个进程,要开多少个多进程,是怎么通过压测决定出来的,有什么可遵循的逻辑吗?谢谢。
Liquor 其实是跟你目前的设计需求相关。没有固定的配置,我目前项目不需要开房间,没有组队功能。所以大部分功能都在逻辑服map上,所以map,gate,unitcache。分到了一个进程当中,一个进程中数据通信非常快,所以把通信量最大的这三个放到同一个进程中。如果要扩容更多的map进程,那我是跟着会一起同步扩容gate,unitchache。保持着这三个在同一个进程中的组格式。
Liquor 关于你上面说的要开多少个进程,这个得看你压测的峰值。服务器当中一直加机器人,同时机器人跑着逻辑最复杂的几个AI功能。直到服务器出现大批量的延迟,以及机器人掉线,就是你的当前机器配置的压力峰值。通知不断调整服务器逻辑,交互,以及起服配置。不断优化不断测试物理机的压力峰值。然后上线时一台物理机的实际承载量,应该为峰值的三分之一或四分之一为宜。
laoyao 非常感谢。再请问下ET7这种单线程多进程架构,如果跑All in one所有Scene在一个进程,是不是就失去了分布式的提升,性能差些。实际运行时还是优先考虑分几个进程是吗?
Liquor 测试的时候,所有scene都在一个进程,和分进程部署测试。是完全不同的测试结果。建议压测的时候就按照你最终上线的部署方案去压测。否则你压测单进程,上线部署多进程。那直接G了。
多进程是为了什么?是为了多核,一个进程只能用1个核,还玩个蛋
ET8多线程可以利用多核,所以可以只用一个进程