zoukankan      html  css  js  c++  java
  • [转]游戏服务器网络带宽负载计算

    Author: FreeKnightDuzhi

    转自:http://hi.baidu.com/freedomknightduzhi/blog/item/5e8e7f3df775beff3c6d970d.html

    家庭所安装的4M,8M宽带。其中M是指,Mbits/S

    其中要提前说明的是:

    8bits = 1Byte

    即8位等于1字节。我们硬盘大小50G。意思是50*1024M字节,约为 50000多字节。但是网宽是以“位”为单位的,所以,8Mbits就是1M字节。是容积体积的单位。

    8Mbits/s后面的S是秒。8Mbits/s意思是 每秒8M位,即每秒1M字节。

    我是在计算我们网络流量时想到的这个问题,于是说明的。

    那么我们来想下,假设公司服务器的OUT带宽为80Mb/S,即每秒可以发送10M字节的信息。假设一个客户端连接发包平均频率为50毫秒一个包,一个包大小为130字节,那么80Mb/S带宽可容载客户端数为 (10*1024) / ((1000/50) * 130) = 3846 连接。

    其中理由是:

    一般服务器一次主循环TICK要保证50MS左右。若一次循环可将一个客户端的封包整合为单包,则可控制为50MS一个封包。

    若一个服务器有5000人在线,则在玩家周围九宫格内的NPC,MONSTER平均分布大约能有50个(假设同步区域单宫为64米)。一个NPC行为平均为15帧TICK,一个命令协议大小为15字节,则一个玩家在一个TICK内能收到的命令大小约为: 50 * 15 / 15 = 50 字节。

    另外,每个玩家在一个游戏循环会同步一次位置和周边信息,同步数据大小主要是外貌信息,约为140字节 。 则客户端每秒接受大约为190字节。

    考虑到压缩,对于消息,一般DES3压缩比率为60%左右,加上消息包头大约10字节。大约为130字节。

    额外考虑:

    TCP/IP丢包重发的可能,用户分布不均可能。要减少连接数量。

  • 相关阅读:
    linux下删除乱码文件
    linux修改网卡延时、带宽、丢包等
    连接远程系统里的vbox虚拟机
    Linux路由功能
    关于C语言的取整函数
    新博客
    NEU1217之神风堂最少人数 自己在精度上吃了苦头
    sprintf sscanf自己应该会的小点
    【转】妙解亲和数
    redeclared as different kind of symbol
  • 原文地址:https://www.cnblogs.com/freebird92/p/1951618.html
Copyright © 2011-2022 走看看