短链系统设计-场景需求及性能要求分析

Posted JavaEdge.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了短链系统设计-场景需求及性能要求分析相关的知识,希望对你有一定的参考价值。

如脉脉,不会纵容你发太长的网址,会给你转成短链。

1 Scenario 场景

根据一个 long url 生成一个short url。

如 http://www.javaedge.com => http://bit.ly/1ULoQB6

根据 short url 还原 long url,并跳转:

需和面试官确认的问题:

long url和short url必须一一对应吗?

Short url长时间没人用,需要释放吗?

1.1 QPS 分析

  1. 问日活,如微博100M
  2. 推算产生一条 tiny url 的 qps
    1. 假设每个用户平均每天 0.1(发10 条,有一条有链接) 条带 URL 的微博
    2. 平均写 QPS = 100M * 0.1 / 86400 = 100
    3. 峰值写 qps = 100 * 2 = 200
  3. 推算点击一条tiny url的 qps
    1. 假设每个用户平均点 1 个tiny url
    2. 平均写 QPS = 100M * 1 / 86400 = 1k
    3. 峰值读 qps = 1k * 2 = 2k
  4. deduce 每天产生的新 URL 所占存储
    1. 100M * 0.1 = 10M 条
    2. 每条 URL 长度平均按 100 算,共 1G
    3. 1T 硬盘能用 3 年

由2、3 分析可知,并不需要分布式或者 sharding,支持 2k QPS,一台 SSD mysql 即可。

以上是关于短链系统设计-场景需求及性能要求分析的主要内容,如果未能解决你的问题,请参考以下文章

第八章 性能测试分析方法及要点

短链系统设计性能优化-分片键选型及全局自增 ID 策略

06jmeter-需求篇-性能测试需求分析

性能测试过程

性能测试性能分析性能调优,你知多少?

LR性能测试课程及视频教程