有时候,一个系统究竟要部署几个instance呢?这就需要根据系统的压力和线上机器的配置来看了:
根据线上数据推算出系统的负载
1.查看现有用户量
2.查看现有订单量/交易量/访问量
3.根据2/8原则,百分之80%的用户,会在20%的时间,去完成上述请求,所以1000w的用户,会有800w的用户,在晚上19点~23点访问
4.比如订单系统每日量是50w单,用户大多在晚上19点~23点之间请求(4h),所以平均是34.7单/秒,
但是,整点的时候,会有秒杀,大促等活动,所以不能单纯按照
综上,所以都是先看数据库的订单量,然后反推每秒请求量或者每秒占用内存,但是需要预估一下极端情况,
比如大促,或者秒杀活动,还需参考系统接口统计,最终确定;
如果没有大促或者秒杀活动,可以将系统请求或占用内存放大10~20倍,来看系统压力
我们暂且暂定最大负载压力是 34.7*100=3500的请求/s
那么,再来分析生产上每台机器的压力(这里订单系统一共部署了5个节点),所以每个节点的压力是700的每秒请求
如果是4核8G的机器,那么是毫无压力的,完全可以支撑住. CPU的使用率应该不会超过60%