系统设计中的估算

系统设计中对于处理据量级的估算是一个很重要的能力。
据说国内的面试中比较喜欢考(我没面过)
几个小知识点

  1. 一天是86400秒
  2. DAU, daily active user,
  3. MAU, monthly active user
  4. QPS, RPS, query per second, request per second
  5. Peak vs average
  6. 对未来半年内系统增长的预估
    7。一个web server的处理能力是 1k, 一台笔记本电脑可以处理差不多100 qps
  7. 一个SQL 服务器也是 1k
  8. 一个 mongo DB, cassandra可以处理10k;关于hbase和bigtable我没有查到数据,但这俩都是硬盘型的,所以应该也是10k的样子
  9. Redis, memcached 等内存型可以处理 100k 到 1MSPS

要follow的步骤

估算用户体量 -> DAU, MAU -> 每个用户每天做的查询次数 -> QPS -> Peak QPS
估算用户体量 -> DAU, MAU -> 每个用户每天需要的storage -> 一年内需要的storage -> 5年内需要的storage
每天每个用户需要的数据量 -> 带宽 -> peak 带宽

你可能感兴趣的:(系统设计中的估算)