蟹妖~~关注极迭代,和小伙伴一起看↗↗↗4核8G+10M带宽属于比较好的机器了,能够满足大部分场景的需要。但要说能支持多少用户,就不能这样拍脑袋得到答案。用户支撑数量是由很多因素构成的,比如用的语言、架构、处理的业务类型、数据大小等等,这是一个不断调优的过程。首先需要确定业务类型不同的业务会有不同的特点,有些CPU占用比较高,比如内存计算类的;有些内存占用高,比如数据处理类的;有些需要大带宽,比如网络爬虫类的;有些磁盘占用高,比如图片和数据库类的。同样配置的机器跑不同的业务,效果就会天差地别,而且未用到的资源就大大的浪费了。根据自己的业务类型,调整机器的资源配比,是节省资金,提高支撑能力的好办法。
其次确定数据尺寸网络传输的数据尺寸决定了带宽的占用程度,尺寸越小带宽越大,单位时间能够接入和处理的用户请求就更多。那么减少无效的数据传输,减少请求包的大小,是提高用户接入能力必须考虑的地方。
采用合理的语言架构经过良好设计的系统,和随意堆砌的系统,接入能力是完全不同的。为了解决资源浪费问题,可以采用Docker之类的容器化,微服务化,能够有效的提高资源使用率,减少服务器压力。采用Nginx或Tengine、开启NIO、开启压缩、以及设置静态和局部缓存等,降低服务器负载采用MongoDB、NoSQL数据库,降低数据查询压力提高响应速度....总之一句话:尽力减少前端无效请求,后端尽力将请求在靠近用户侧解决掉,避免业务过长,堆积在后端底层。
不断测算和调优支撑的TPS数,是需要不断监控不断调优的。很多时候,一个微小的参数调整,都能带来成倍的性能提高。一个数十秒的业务请求,也许调优后就能在几十毫秒完成。真正的线上服务,持续监控和持续调优是长期进行的。
♥♥♥♥♥ 请任性点赞,谢谢关注 -- 我是 极迭代 ,我为自己带盐 :)