3

流量

日活

100万

PV

5千万

每个用户打开10个页面 每个页面5次API请求

秒QPS

流量高峰 18-22点 按照4小时计算
5千万/4/3600 = 3400

单机承载最大QPS (8C8G)

8G内存预留2G给系统缓冲 6GB分配给PHP-FPM
单个PHP-FPM进程 占用大约25-40M内存, 以40M计算
6 X 1024 / 40 = 150
单个机器每秒可并发处理150个请求
单个请求假设耗时0.25秒(250ms)
则单机最大秒QPS为150 X 4 = 600

需要6台机器

3400 / 600 ≈ 6
预留一台做缓冲 比如重启项目时,轮询重启,保证可提供服务的恒定有6台.
这里的6台只是nginx+php-fpm的应用服务器 数据库和缓存之类的另做计算

3台机器

Swoole4.5 + EasySwoole 重写.

架构图

QQ截图20200503225351.png

欢迎友好讨论,以上为理论值.


面试权威指南
25 声望3 粉丝

人生太苦,只有学习是快乐的.