本是小辣鸡。以前也只是写业务代码,全靠领导给机会让我自己负责一个服务器的编写,部署,上线需要的资源评估。记录第一次做上线资源评估的过程。
项目背景是,搭在云服务商上的集群,集群管理是kubernetes。首次内测目标5000个用户。
主要如下
1.服务器需要多少内存
2.服务器需要多少cpu
3.了解购买的云服务参数
4.修改kubernetes部署文件
首先需要做压测,我写的服务器是用golang写的用于聊天服务器,所以在世界聊天的时候,压力就会非常大。压力也是要测试这里,看看需要消耗多少性能。
服务器需要多少内存
我使用了golang的profile进行分析,登录了5000玩家后,在profile中,查看到内存情况总共消耗171000000字节左右。计算出一个玩家大约使用32KB的内存。服务器本身启动不占多少内存,最后评估需要256m的内存。
服务器需要多少cpu
在压测的时候,已经看了cpu的profile,看上去一切正常。剩下就是发消息。我启动服务器的机器是16核,2.2GHz的服务器。在每秒200人同时发消息到世界频道,5000人接收的情况下。使用top命令查看最高的时候,跑了586%的cpu,按6个计算,就是6*2200mhz = 13200mhz。也就是说在最极端的情况下,全部人都不玩游戏,只在大厅聊天,每秒200个人发,按照计算最多需要13200mhz的cpu。
了解购买的云服务参数
集群中总共有8台机器,每台8G内存,4个cpu