- 计算
- QPS=DAU(日活)/200
- 1并发=10在线用户=100注册用户
- 1用户=20pv
- 最大访问量=平均值2-4倍
- 访问时段一般8点 - 23点
- 服务组件并发
| 中间件 | 并发 | 资源占用 | 测试方法 |
|---|
| Jetty | 2k-3k | | |
Nginx - 200,3ms响应 | 1w | | |
| LVS | 100w | | |
| F5 + LVS、深信服 | 400w-800w | | |
| MySQL | 1k | | |
| Oracle | 1.5k-2k | | |
| Tomcat | 1k | | |
| MongoDB | 查询4w, 5s响应 | | |
Node.js - 5w | 300 | yaml<br>mem: 512m<br>mem: 66.7%<br>cpu: 1%<br> | 5秒循环mongo数据: 17w条 |
- 数据量
- CSS与JS会缓存
| 资源 | 大小 |
| --- | --- |
| 每个HTML页面 | 20k |
| CSS | 40k |
| JS | 50k |
- 系统
| 项 | 空间 | 时间 |
|---|
| 一个进程 | 13M左右 | 最早的Apache,10G内存787多并发 |
| 一个线程 | 2M内存 | 10G内存5120并发 |
| CPU一级缓存取数据 | | 3tick(时钟周期) |
| CPU二级缓存取数据 | | 14 tick |
| 内存取数据 | | 250 tick |
| 磁盘取数据 | | 4100w tick |
| 网络取数据 | | 24000w tick |
- ALU
| 类型 | 访问速度 |
|---|
Registers - 1ns | < 1ns - L1 cache(核内) |
| L2 cache(核内) | 3ns |
| L3 cache(CPU内) | 15ns |
| memory | 80ns |
- 存储
| 类型 | 时间 | 描述 |
|---|
| L1 cache | 0.5ns | |
| branch mispredict(分支、转移) | 5ns | |
| L2 cache | 7ns | 14x L1 cache |
| Mutex lock/unlock | 25ns | |
| Main memory | 100ns | 20x L2 cache, 200x L1 cache |
| 1k字节压缩Zippy | 3,000ns = 3us | |
| 在1Gbps网络上发送1k字节 | 10,000ns = 10us | |
| SSD随机读4k | 150,000ns = 150us | 1GB/秒 |
| 内存顺序读1MB | 250,000ns = 250us | |
| 同一数据中心往返 | 500,000ns = 500us | |
| SSD顺序读1MB | 1,000,000ns = 1000us = 1ms | 1GB/秒, 4x 内存 |
| 磁盘搜索 | 10,000,000ns = 10,000us = 10ms | 20x 数据中心往返 |
| 磁盘顺序读1MB | 20,000,000ns = 20,000us = 20ms | 80x 内存, 20x SSD |
| 发包: 美国 → 荷兰 → 加拿大 | 150,000,000ns = 150,000us = 150ms | |
- 案例
| 小米论坛2014年 | yaml<br>pv 2000w<br>热门并发300<br>20k/页面<br>300k/图片(未压缩)<br>70k/无图帖子<br>500k-3M/有图帖子<br>动态服务器最小带宽: 48Mbps<br>静态服务器最小带宽: 1440Mbps<br>实际购买带宽: 800M<br>带宽费用: 8.7w/month<br> |
|---|
| 糗事百科2014年 | yaml<br>pv 1000w<br>热门并发150<br>10k/页面<br>70k/图<br>4图/页<br>90k-400k/综合页<br>动态服务器带宽: 12Mbps<br>静态服务器带宽: 336Mbps<br> |