当前位置: 首页 > news >正文

网站网页设计佛山优化推广

网站网页设计,佛山优化推广,青岛网站建设方案优化,做编程的+网站有哪些内容一、前言 首先,在Spring Boot应用中,我们可以使用 Tomcat、Jetty、Undertow 等嵌入式 Web 服务器作为应用程序的运行容器。这些服务器都支持并发请求处理的能力。另外,Spring Boot 还提供了一些配置参数,可以对 Web 服务器进行调…

一、前言

首先,在Spring Boot应用中,我们可以使用 Tomcat、Jetty、Undertow 等嵌入式 Web 服务器作为应用程序的运行容器。这些服务器都支持并发请求处理的能力。另外,Spring Boot 还提供了一些配置参数,可以对 Web 服务器进行调优,以提高其并发处理能力。而我们大家都知道,Spring Boot应用默认使用的Web服务器(内嵌容器)为Tomcat,了解了以上内容,我们就知道,这个问题的本质就是一个Spring Boot应用,内嵌的Tomcat能够处理多少请求

二、相关配置

1、配置信息

关于Tomcat的默认配置,都在spring-configuration-metadata.json文件中,对应的配置类则是org.springframework.boot.autoconfigure.web.ServerProperties。

2、配置说明

server.tomcat.threads.min-spare:最少的工作线程数,默认大小是10。该参数相当于长期工,如果并发请求的数量达不到10,就会依次使用这几个线程去处理请求。
server.tomcat.threads.max:最多的工作线程数,默认大小是200。该参数相当于临时工,如果并发请求的数量在10到200之间,就会使用这些临时工线程进行处理。
server.tomcat.max-connections:最大连接数,默认大小是8192。表示Tomcat可以处理的最大请求数量,超过8192的请求就会被放入到等待队列。
server.tomcat.accept-count:等待队列的长度,默认大小是100。

3、案例说明

如果把Tomcat比作一家饭店的话,那么一个请求其实就相当于一位客人。min-spare就是厨师(长期工);max是厨师总数(长期工+临时工);max-connections就是饭店里的座位数量;accept-count是门口小板凳的数量。来的客人优先坐到饭店里面,然后厨师开始忙活,如果长期工可以干得完,就让长期工干,如果长期工干不完,就再让临时工干。

图中画的厨师一共15人,饭店里有30个座位,也就是说,如果现在来了20个客人,那么就会有5个人先在饭店里等着。如果现在来了35个人,饭店里坐不下,就会让5个人先到门口坐一下。如果来了50个人,那么饭店座位+门口小板凳一共40个,所以就会有10人离开。

也就是说,SpringBoot能同时处理的最大请求数量是max-connections + accept-count,超过该数量的请求直接就会被丢掉。

三、代码验证

1、测试代码

首先创建一个SpringBoot的项目,然后在application.yml里配置一下对应参数,默认最大连接数为8192,这里我们为了方便你测试,将最大连接数调整为40。

配置内容:

server:tomcat:threads:# 最少线程数min-spare: 10# 最多线程数max: 15# 最大连接数max-connections: 30# 最大等待数accept-count: 10

接口内容:

首先通过日志输出线程名称,然后休眠0.5秒,这样就会使得应用在处理请求时,无法一次性处理所有请求,从而让部分请求进入到等待队列。

@GetMapping("/test")
public Response test1(HttpServletRequest request) throws Exception {log.info("ip:{},线程:{}", request.getRemoteAddr(), Thread.currentThread().getName());Thread.sleep(500);return Response.buildSuccess();
}

 2、测试步骤

使用Apifox创建一个测试用例,来模拟100个请求,如果你不习惯使用这个工具的话,也可以使用jmeter来达到同样的测试效果。

 从结果中可以看出,由于设置的max-connections + accept-count的和是40,所以有60个请求会被丢弃,这和我们的预期是相符的。由于最大线程是15,也就是有25个请求会先等待,等前15个处理完了再处理15个,最后在处理10个,也就是将40个请求分成了15,15,10这样三批进行处理。

 再结合控制台打印的日志不难看出,线程的最大编号是15,这也印证了前面的想法。

三、总结 

  • SpringBoot能同时处理的最大请求数量是max-connections + accept-count。
  • 如果并发请求数量低于server.tomcat.threads.max,则会被立即处理,超过的部分会先进行等待。
  • 如果数量超过max-connectionsaccept-count之和,则多余的部分则会被直接丢弃。
  • SpringBoot在处理请求时,会根据请求的数量,分批次进行处理。
http://www.yayakq.cn/news/284939/

相关文章:

  • 网站摸板淘宝联盟链接的网站怎么做
  • 怎么免费网站wordpress links
  • 网站群的建设策略通信网站模板
  • 网站备案没有了宁波三优互动网站建设公司怎么样
  • inititle 网站建设网站优化升级怎么做
  • 网站建设费的摊销年限佛山网站提升排名
  • 个体工商户可以备案哪些网站医院网站备案前置审批
  • win7 网站配置四川省建筑信息网
  • 江门seo网站排名C4D有哪些做模型的网站
  • 网站开发与软件开发区别app下载官网入口
  • 南京seo整站优化技术做京挑客的网站
  • 网站服务器备案查询网站如何自己做app
  • 网站的pr福州专业做网站公司
  • 手机 网站 模板潍坊专业果蔬清洗机
  • 如何做网站不被坑奇缦科技珠海网站建设优化
  • 做宣传册从哪个网站找素材wordpress 电影下载站
  • 网站流量转化wordpress png 压缩
  • 计算机应用专业(网站开发)马鞍山网站建设
  • 为什么要建设公司网站如何在ftp做网站
  • rails 开发的网站开发php做简单网站教程
  • 深圳公司网站设计哪家好上海网站如何制作
  • 网站建设是什么部门高端织梦html5网站模板 dedecms网络公司模板
  • 建材网站做环保类型思路自动优化网站建设
  • 十大软件app排行榜下载南宁网站建设公司seo优化
  • 广告艺术设计主要学什么宁波seo公司
  • 福州执业建设中心网站河北网站建设方案详细
  • 杭州网站建设手机版福田官网
  • 国外购物网站推荐广东建泰建设有限公司网站
  • 金湖做网站wordpress文章目录修改
  • 网站名称 规则一级a做爰网站中国