就是这儿了,因为自己的服没人发消息,所以每次注册账号都会使value = 0,然后就是个偶数的账号。 能不能优化一下。让奇数偶数平均。因为网关有俩,如果都是偶数,取余分配网关的话,总是分配同一个网关。
改成了这样
是个问题,这样做很不错
DBComponentSystem中
这个DBComponent.TaskCount有啥作用?如果每隔一秒调用一次IdGenerater.Instance.GenerateId();生成的EntityId都能被32整除。经过上面改动后也只是余1。
大量组件保存,然后就成了这样。 CoroutineLockType.DB = 5
DBComponent.TaskCount 这个应该是分配数据库操作协程锁吧
避免大量db操作都等待同一个协程锁
milk_36 要我看,没什么用,为什么不直接锁用户ID,现在的问题是 用户ID%32 总是会得到相同的值,没有分散到这个 32 里。
改成31就行了
egametang 还真是。我有点疑惑,这个为什么不锁id,有性能问题吗?
这是为了减少访问数据库的并发数量,只允许32并发
egametang DBComponent.TaskCount是32的话好像确实能被entityid整除,所以要改为31么
是不是应该改GenerateUnitId 而不是 GenerateId
david000999 改成质数会分配的更均匀