给大家看我最近做的一个项目案例,压力计算模型的建立也给大家为架构扩容方案提供了数据参考,使其更加易于衡量和评估!
一、 非节假日模型
非节假日,H5压力分布遵从80/60原则,即一天内H5服务器80%压力分布在60%时间段:
1. 每秒平均事件数 = 80% * 日事件 / 1天 * 60%
2. 每秒高峰事件数 = 1.4 * 每秒平均事件数
3. UV与事件曲线分布呈线性关系,日事件 = 3.74 * 日UV
综合上述,得
每秒高峰事件数 = 1.4 * (80% * (3.74 * 日UV) / 1天 * 60%)
每秒高峰事件数 = 6.98 * 日UV / 1天
二、 节假日模型
节假日,H5压力分布遵从80/30原则,即一天内H5服务器80%压力分布在30%时间段:
1. 每秒平均事件数 = 80% * 日事件 / 1天 * 30%
2. 每秒高峰事件数 = 2.2 * 每秒平均事件数
3. UV与事件曲线分布呈线性关系,日事件 = 1.675 * 日UV
综合上述,得
每秒高峰事件数 = 2.2 * (80% * (1.675 * 日UV) / 1天 * 30%)
每秒高峰事件数 = 9.83 * 日UV / 1天
三、 H5单点部署结构服务能力
1. 以4核4G配置为准,单点最佳负载支持300路并发(每秒高峰事件数)
2. 在上述压力下最大下行带宽占用62.5MB/s,MYSQL数据库SPS = 80、IOPS = 60
四、 扩容方案
以下期推广活动为例,预期产生300万日UV,按节假日模型计,
H5服务器压力:每秒高峰事件数 = 9.83 * 300W / 24 * 3600 = 342
故,建议:
1. H5服务器水平扩展至2台
2. H5对外访问带宽上限增至近100MB/s
3. 阿里云RDS匹配服务能力达:连接数 = 120 ,IOPS = 90