高并发性的4个角度
同时不提高可利用性的只是流氓。 可以从四个角度讨论这个问题。
首先,无状态前端机器不足以承载请求的流量,需要水平扩展,一般的QPS为千级。 然后,关系数据库不能具有读或写峰值,需要向外扩展数据库或部署nosql。 通常是一千到万水平。 之后,不能用单体nosql装载,需要向外扩展nosql,通常为10万到100万QPS。 最后,很难简单地向外扩展nosql。 例如,微博引入了多级缓存体系结构,该体系结构通常能够支持百万到千万nosql的接入QPS。 当然,面向用户的接口请求一般达不到这个水平。 QPS的增长大多是读取增长带来的压力,属于高并发性体系结构的考虑范围。
PV和QPS
例如,微博每天超过1亿pv的系统一般为1500QPS、5000QPS的峰值。
例如,有人说:
2C4G机器一般为1,000 QPS。
8C8G机单机可承受7000QPS。
写在后面
具体的QPS数量与业务密切相关,只读接口读取缓存并对单个缓存3000施加压力没有问题,写请求1000正常,复杂也可能几百QPS。
因此,QPS与业务场景和设计相关性很大,例如可以通过浏览器的本地缓存、使用缓存的热点数据查询、事务MQ的异步处理的写入等来提高QPS。
有关常见问题,请访问PHP中文网站。