云平台 为什么推荐使用小VM 而不是大VM独占宿主机的方式部署游戏服?
近期公司X游戏项目,提了一个游戏VM资源的需求,是 64GB RAM + 30Core CPU 的VM规格,而一个VM部署10个游戏服。而我们云平台推荐的VM规格为 4 Core CPU + 4GB RAM
那么对于游戏服来说这是个需求不合理在什么地方呢 会带来哪里优势和劣势呢 ?本文尝试分析一下:
优势:
对用户来说:
1. 资源管理简单,需要更少量的服务器
2. 单个进程可以使用更多的 CPU和RAM资源
劣势:
1. 10个游戏服运行在一个VM上,如果这个VM发生故障会影响到所有的游戏服,扩大了故障范围
2. 因为VM的OS使用的是Ceph盘,OS 可能存在IO瓶颈(OS日志因为多个进程而变多)
3. 如果多个游戏服进程的日志都输出到一个Ceph盘上,很容易达到Ceph盘的容量(随机IOPS 1000, 顺序吞吐率:100MB/s)
4. 这种独占宿主机的方式牺牲了云平台资源的共享性,云平台没法做到负载均衡调度
5. 给故障恢复和资源预留带来难度,因为至少需要保留一个完全空闲的HV 来保障VM故障恢复。
综上,建议X游戏项目组使用小规格的VM 集群的方式部署