第一次服务器上限需要资源评估
2021/8/5 23:09:44
本文主要是介绍第一次服务器上限需要资源评估,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
本是小辣鸡。以前也只是写业务代码,全靠领导给机会让我自己负责一个服务器的编写,部署,上线需要的资源评估。记录第一次做上线资源评估的过程。
项目背景是,搭在云服务商上的集群,集群管理是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,每个cpu是3.4Ghz约等于3400mhz,4个cpu大约13600mhz。
修改kubernetes部署文件
因为要充分利用机器性能,所以不能够只部署一个pod,我的服务器之部署一个pod的话,会直接压干一台云服务器的cpu,导致这台云服务器只剩下400mhz的cpu,可能无法起别的pod,上面的内存也将被浪费掉。所以必须起多个pod。最终决定用以下配置,每个pod请求1000M内存,1整个核心的cpu,最大只给2000M内存和两个核心的cpu。
requests: memory: 1000Mi cpu: 1000m limits: memory: 2000Mi cpu: 2000m
这样,一台云机器最少还有6G内存,和3个cpu可以分配给别的pod,不会造成资源浪费。另外,等到真正上线的时候,如果人太多了,资源不够用也是不怕的。kubernetes还有自动扩容。
这篇关于第一次服务器上限需要资源评估的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-22项目:远程温湿度检测系统
- 2024-12-21《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》简介
- 2024-12-21后台管理系统开发教程:新手入门全指南
- 2024-12-21后台开发教程:新手入门及实战指南
- 2024-12-21后台综合解决方案教程:新手入门指南
- 2024-12-21接口模块封装教程:新手必备指南
- 2024-12-21请求动作封装教程:新手必看指南
- 2024-12-21RBAC的权限教程:从入门到实践
- 2024-12-21登录鉴权实战:新手入门教程
- 2024-12-21动态权限实战入门指南