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丢包重发的可能,用户分布不均可能。要减少连接数量。

  • 相关阅读:
    GOOGLE域名存在漏洞,可以用来建立钓鱼站点(目前已临时被封闭)
    今天的工作
    2006的最后一天,于2007年的第一天记录
    上班去
    顶你个肺
    勇气!
    东京审判
    远离我家
    8.3不仅仅是forfun
    我又对自己说,要好好写写我的文字了
  • 原文地址:https://www.cnblogs.com/freebird92/p/1951618.html
Copyright © 2011-2022 走看看