加入收藏 | 设为首页 | 会员中心 | 我要投稿 淮安站长网 (https://www.0517zz.cn/)- 运营、云管理、经验、智能边缘、云硬盘!
当前位置: 首页 > 运营 > 正文

高并发服务器逻辑处理瓶颈

发布时间:2021-03-05 17:33:19 所属栏目:运营 来源:互联网
导读:发衡量指标 响应时间:系统对请求做出响应的时间,即一个http请求返回所用的时间; 吞吐量:单位时间内处理的请求数量; QPS(TPS):每秒可以处理的请求数或事务数; 并发用户数:同时承载正常使用系统功能的用户数量,即多少人同时使用,系统还能正常运行的用户

发衡量指标

  • 响应时间:系统对请求做出响应的时间,即一个http请求返回所用的时间;
  • 吞吐量:单位时间内处理的请求数量;
  • QPS(TPS):每秒可以处理的请求数或事务数;
  • 并发用户数:同时承载正常使用系统功能的用户数量,即多少人同时使用,系统还能正常运行的用户数量;

根据上面衡量指标可以看到,提高并发能力必须解决如下几个问题:

  1. 如何提高并发连接数?
  2. 那么多的连接数怎么进行业务处理?
  3. 应用服务器的处理水平又该怎么提高?
  4. 如何使用微服务架构提升高并发逻辑?

别着急,这么多问题我们一个一个来分析解决!

1)、如何提高并发连接数?

如下图所示,常规的单一网络连接模型只能1个连接对应1个线程,压力都集中在内存,导致内存开销非常大,肯定支撑的连接数有限!(直接挂掉)
 

是业务写的再好不如一台高性能服务器,这个锅不一定要开发人员背的哦!!!服务器的连接入口就那么大(比如tomcat只有几千的连接数),那么处理的能力也只局限于几千。

怎么解决呢?选用合适的网络IO模型或者selector,通过使用一个线程轮询或者事件触发的方式,能支持几万甚至更多的连接数,再配合上nginx做负载就更完美了。

2)那么多的连接数怎么进行业务处理?

大家都知道nginx只是具有反向代理和负载均衡的功能,并不能处理具体的业务逻辑,不能担当应用服务器来使用。例如webSphere 、tomcat和jetty等,但是我们可以利用nginx将接受到的大量连接通过均衡的方式(轮询,权重,hash)分配到不同的应用服务器中进行业务处理!

(编辑:淮安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读