• Feeds

  • Posts Tagged ‘fermi problem’


    中国共有多少台服务器-初略估算初窥

    自从看了《编程珠玑》第7章粗略估算之后就养成了一个奇怪的习惯,喜欢去计算身边的数字。比如一个城市共有多少台电梯,中国共有多少座桥梁等。

    粗略估算又叫费米近似(Fermi problem),比如坐广州到深圳的和谐号动车组时候就想,广深线每分钟进入火车站人流量有多大?这个似乎要请专业的调查公司才能得到结果,但实际上每个人几乎都可以算出来,尤其是程序员。

    1. 和谐号列车有8个车厢,1号和8号是头等车厢,一般坐不满 ,满员估算50人。除去5号餐车。因此共有5×100+100=600个座位。
    2. 15分钟一趟,每天从6点到22点,共发车18*(60/15)=72次
    3. 根据观察,广深线平时都有座位,但也不会太空。假如平均坐满70%座位的话,每天单向人流量为 72 * 600 * 70% = 30240 人
    4. 每分钟人流量为30240/18/60=28人
    5. 进一步考虑,需要几个售票窗口。估算平均每个乘客购票需要15秒,则至少7个窗口才不会引起排队现象。这跟平时观察一致,平时非高峰时刻如果窗口在5个以下会出现排长队现象。

    72法则

    72法则是会计上的一个经验。假设最初投资金额为100元,复息年利率9%(r%),利用“72法则”,将72除以9(增长率),得8(y),即需约8年时间,投资金额滚存至200元(两倍于100元),而准确需时为8.0432年。上面的r和y换成任何数字,只要相乘总数是72, 该法则都成立。

    72法则在初略估算中经常要用到,比如上面广深线的例子,假如客流月增长率3%, 则24月之后,广深线客流量会翻一番。(24*3=72)

    编程领域估算

    服务器编程领域经常面临预先估算,因为在程序开发前实际的场景并不存在。据去年《程序员》杂志介绍,奥运订票网站的瘫痪,是因为每秒请求数超过2200次。假如这个请求数都不能预先估算到的话,应该算是架构设计的失败。

    更多有趣例子及深入阅读

    • 中国共有多少台正在运行中的服务器?
    • 你有多少根头发?
    • 成年人体的骨头块数。
    • 孔子的出生年份(公元)

    更多有趣的例子可参看美国马里兰大学更多初略估算测试大全(英文)