Secenario:
MAU -- monthly active users
step1: 罗列功能
- register/login
- user profile display/edit
- upload image/video
- search
- post/share a tweet
- timeline/news feed
- follow/unfollow a user
step2: 选出核心功能
- post a tweet
- timeline某个用户发的所有帖子
- news feed关注的用户所有帖子
- follow/unfollow a user
- register/login
并发用户
- average concurrent user: 日活跃*每个用户平均请求次数/一天多少秒 = 150M * 60 / 86400 ~100k
- peak: 峰值 average concurrent user * 3 ~300k
- 快速增长的产品:max peak users in 3 month = peak * 2
读频率 read QPS: 300k
写频率 write QPS: 5k
QPS的影响:
- 100 笔记本做web服务器 (实际情况超过10)
- 1k 好点的web服务器,single point failure
- 1m 1000台web服务器的集群cluster,需要考虑maintainance
QPS和web server/database之间的关系
- 一台web server承受量 1k QPS(考虑到逻辑处理时间以及数据库查询的瓶颈)
- 一台sql db承受量1k QPS(如果join和index query比较多,值会更小)
- 一台nosql db(Cassandra)承受量是10k的QPS
- 一台nosql db(Memcached)承受量是1M的QPS
标签:web,db,系统,笔记,user,QPS,设计,1k,peak From: https://www.cnblogs.com/funblogs12152023/p/17951698