实际上,根据国家统计局的数据,截至 2017 年末,中国大陆总人口为 13
亿 9008 万人(包括 31
个省、自治区、直辖市和中国人民解放军现役军人,不包括香港、澳门和
台湾以及海外华侨人数),早已超过 13 亿。
目前,微信群组成员人数上限为 500 人,把近 14
亿中国人都拉到一个微信群,从技术的角度考虑现实吗?需要多少台服务
器?
而且在一个 14
亿人的群里,要怎样抢红包?手机会不会爆炸?欢迎大家收看官方吐槽系
列~
如不计算安卓系统、显示刷新、网络 IO 等 CPU
操作的话,每条信息能分配到的计算能力是:
这是什么概念?全球第一款微处理器是 1971 年英特尔推出的 Intel
4004[参考 3],这个老古董的主频也有 108KHz 啊。所以 21.9KHz
就是啥也干不了。
幸好 IT 界有个摩尔定律: 每 18 个月 CPU
性能就能翻倍(或者价钱是一半)。虽然现有科技已经很难让主频提升(
某牙膏厂拼命挤也只有 5 Ghz)。
但假设我们使用了黑科技提升主频。等到了 2025 摩尔定律失效时[参考
4],我们的手机 CPU 主频应该达到:
看起来不错嘛,不过每条消息能得到的计算能力将达到:
呵呵,依然没有达到 Intel 4004 的水平,所以结果就是你等了 7
年,还是进不了这个全国群抢一个红包。
好吧,咱们让手机接入一个给力点的电脑,
比如说全球超算第一名的太湖之光,1 千万个 CPU 核心 [参考 5]
来帮忙处理这个宇宙第一大微信群。算力的问题总算有了着落。
我们假设平均每条消息有 10 个汉字,这大概相当于 30
byte,算上应用层会加上一定的控制字符,再加上 TCP/IP
网络层的数据消耗大概是 74 byte,取个整,平均每条消息有 100
byte,每个 byte 相当于 8 个 bit。
这时每秒需要的网络带宽大约是:
如果有人发红包,需要的带宽就更大了。
理论上,4G 网络能支持 1000 Mbps[参考
6],但别忘了,是全国人民在同一个群里,而你周围的人也需要同样的带
宽,这使得你附近的基站不堪重负,陷入瘫痪。