专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

SpringBoot可以同时处理多少请求?

  前两天面试的时候,面试官问我:一个ip发请求过来,是一个ip对应一个线程吗?我突然愣住了,对于SpringBoot如何处理请求好像从来没仔细思考过,所以面试结束后就仔细研究了一番,现在就来探讨一下这个问题。正文
  我们都知道,SpringBoot默认的内嵌容器是Tomcat,也就是我们的程序实际上是运行在Tomcat里的。所以与其说SpringBoot可以处理多少请求,到不如说Tomcat可以处理多少请求。
  关于Tomcat的默认配置,都在springconfigurationmetadata。json文件中,对应的配置类则是org。springframework。boot。autoconfigure。web。ServerProperties。
  和处理请求数量相关的参数有四个:
  server。tomcat。threads。minspare:最少的工作线程数,默认大小是10。该参数相当于长期工,如果并发请求的数量达不到10,就会依次使用这几个线程去处理请求。server。tomcat。threads。max:最多的工作线程数,默认大小是200。该参数相当于临时工,如果并发请求的数量在10到200之间,就会使用这些临时工线程进行处理。server。tomcat。maxconnections:最大连接数,默认大小是8192。表示Tomcat可以处理的最大请求数量,超过8192的请求就会被放入到等待队列。server。tomcat。acceptcount:等待队列的长度,默认大小是100。
  举个例子说明一下这几个参数之间的关系:
  如果把Tomcat比作一家饭店的话,那么一个请求其实就相当于一位客人。minspare就是厨师(长期工);max是厨师总数(长期工临时工);maxconnections就是饭店里的座位数量;acceptcount是门口小板凳的数量。来的客人优先坐到饭店里面,然后厨师开始忙活,如果长期工可以干的完,就让长期工干,如果长期工干不完,就再让临时工干。图中画的厨师一共15人,饭店里有30个座位,也就是说,如果现在来了20个客人,那么就会有5个人先在饭店里等着。如果现在来了35个人,饭店里坐不下,就会让5个人先到门口坐一下。如果来了50个人,那么饭店座位门口小板凳一共40个,所以就会有10人离开。
  也就是说,SpringBoot同时所能处理的最大请求数量是maxconnectionsacceptcount,超过该数量的请求直接就会被丢掉。
  纸上得来终觉浅,绝知此事要躬行。
  上面只是理论结果,现在通过一个实际的小例子来演示一下到底是不是这样:
  创建一个SpringBoot的项目,在application。yml里配置一下这几个参数,因为默认的数量太大,不好测试,所以配小一点:server:tomcat:threads:最少线程数minspare:10最多线程数max:15最大连接数maxconnections:30最大等待数acceptcount:10
  再来写一个简单的接口:GetMapping(test)publicResponsetest1(HttpServletRequestrequest)throwsException{log。info(ip:{},线程:{},request。getRemoteAddr(),Thread。currentThread()。getName());Thread。sleep(500);returnResponse。buildSuccess();}
  代码很简单,只是打印了一下线程名,然后休眠0。5秒,这样肯定会导致部分请求处理一次性处理不了而进入到等待队列。
  然后我用Apifox创建了一个测试用例,去模拟100个请求:
  观察一下测试结果:
  从结果中可以看出,由于设置的maxconnectionsacceptcount的和是40,所以有60个请求会被丢弃,这和我们的预期是相符的。由于最大线程是15,也就是有25个请求会先等待,等前15个处理完了再处理15个,最后在处理10个,也就是将40个请求分成了15,15,10这样三批进行处理。
  再从控制台的打印日志可以看到,线程的最大编号是15,这也印证了前面的想法。
  总结一下:如果并发请求数量低于server。tomcat。threads。max,则会被立即处理,超过的部分会先进行等待,如果数量超过maxconnections与acceptcount之和,则多余的部分则会被直接丢弃。延伸:并发问题是如何产生的
  到目前为止,就已经搞明白了SpringBoot可以同时处理多少请求的问题。但是在这里我还想基于上面的例子再延伸一下,就是为什么并发场景下会出现一些值和我们预期的不一样?
  设想有以下场景:厨师们用一个账本记录一共做了多少道菜,每个厨师做完菜都记录一下,每次记录都是将账本上的数字先抄到草稿纸上,计算x1等于多少,然后将计算的结果写回到账本上。
  Spring容器中的Bean默认是单例的,也就是说,处理请求的Controller、Service实例就只有一份。在并发场景下,将cookSum定义为全局变量,是所有线程共享的,当一个线程读到了cookSum20,然后计算,写回前另一个线程也读到是20,两个线程都加1后写回,最终cookSum就变成了21,但是实际上应该是22,因为加了两次。privateintcookSum0;GetMapping(test)publicResponsetest1(HttpServletRequestrequest)throwsException{做菜cookSum1;log。info(做了{}道菜,cookSum);Thread。sleep(500);returnResponse。buildSuccess();}
  如果要避免这样的情况发生,就涉及到加锁的问题了,就不在这里讨论了。

国乒男女团全面零封对手!马龙喂对手零蛋,日本女团晋级北京时间10月6日,22年成都世乒赛团体赛火热角逐中,今日迎来男团81决赛与女团41决赛,这次国乒男团要面对的对手是印度男团选手,此次国乒男团排出的悍将是马龙樊振东王楚钦,面对印度孕期应该怎么吃,才能长胎不长肉?孕期可是女人一辈子的转折点之一。所有孕妈妈的愿望都是希望长胎不长肉宝宝健康能够顺产产后好恢复身材,要实现这些愿望,关键就在于孕期体重的管理。没有怀孕的时候,没人管你吃不吃饭,吃饭基产程的注意事项关键词第一产程第二产程第三产程宝宝出生后10分钟第一产程宫口未开至宫口全开(10厘米),一般初产妇1214小时,经产妇68小时。分为潜伏期活跃期。掌握好呼吸方法(拉玛泽呼吸法),同内八字步态问答篇生活中我们发现有些小朋友会经常被被老师长辈或邻居提醒步态笨拙,家长担心对孩子的生长发育有影响,希望能够早解决,以免错过最佳的治疗时机,便会带孩子到医院寻求医生建议和帮助。对于家长的萌娃给醉酒爸爸全身彩绘一开始只想画一只小天才手表10月4日,河北廊坊,萌娃和妈妈一起在醉酒的爸爸身上作画,女娃儿一开始只想画一只手表,然后一发不可收拾,母女三人齐上阵,把醉酒不省人事的爸爸全身画满彩绘。妈妈觉有趣随即录了视频发到王者荣耀7周年皮肤返场,猴返场成为热梗,人气第一王者荣耀7周年的皮肤返场就快到了,也是周年庆的一大活动,按皮肤返场的规则,最新版本返场名单也已经被玩家推导出来,就是玩家对返场留言来看,猴返场还是个热梗,猴子依旧是返场人气第一的英珠海特斯拉燃烧事件对比电动车和燃油车起火概率逃生概率哪个大前天珠海特斯拉电动汽车祸碰撞起火随即烧毁事件登上热搜,引来众多车主朋友们的关注,很多网友都在吐槽是不是电动汽车安全性真的还不够成熟,现在是不是还没到最佳购买时间。确实,近来新能源汽美媒评历史20大国际球员欧洲现役五天王遭质疑,姚明排16引争议目前NBA季前赛正在进行中,美国媒体也在不断的寻找新话题。在预测完新赛季后,美媒Hoopshype评选了NBA历史上的20大国际球员,我们来看一下1奥拉朱旺(尼日利亚),2诺维茨基历史新低!354元抢购梅捷1TB固态硬盘梅捷SSD固态硬盘SATA3。0接口1TB活动价仅需359元,售价低至白菜价,性价比非常不错,有需要的小伙伴儿可以买起来了。梅捷SATA3。0固态硬盘1TB精选TLC颗粒,2。5寸唐山大地震46周年!历史上的今天1976年7月28日今天,唐山大地震46周年!1976年7月28日,3时42分53。8秒,唐山发生7。8级大地震,造成24。2万人遇难,16。4万人重伤。我们将永远铭记这一天,让我们缅怀逝者,坚定前行1966年,毛泽东在滴水洞隐居11天,张耀祠率领8341部队,一路随行在阅读此文之前,麻烦您点击一下关注,既方便您进行讨论和分享,又能给您带来不一样的参与感,感谢您的支持1966年6月25日,湖南韶山冲的山间小道上出现一行车队,蜿蜒地开进三座山包围的
聚焦千兆城市发展双千兆加快产业数字化脚步中国电信引领工业变革(图为双千兆网络工业制造应用论坛现场卢臻摄)(记者陈洲)日前,第二届千兆城市高峰论坛(以下简称高峰论坛)在福建省厦门市隆重举办,该论坛的形式颇具特色,由1个主论坛1个成果展6个分论中国科传研究报告向转型成为中国的爱思唯尔进军(报告出品方作者招商证券,顾佳)核心观点摘要公司是目前国内拥有科技图书和期刊内容资源最多的出版单位之一,主营业务是高质量图书的出版和海外出版公司学会协会的图书期刊及相关数字出版物引神回复为什么白酒不能冰镇着喝?网友就是有点费人你到底是男生还是女生呢?异地恋除了聊天还能干什么呢?父母同一天当父母。你女朋友有点过分了。这女记者也是没谁了。我们俩来PK一下吧。神评这个方案可行。地基得是什么样的长相。为什么我会刘三姐扮演者黄婉秋病情危急,因身体不适住进医院近日,备受关注的著名表演艺术家黄婉秋因病情危急,引发了广泛的关注和关心。黄婉秋是中国文化界的重要人物,曾多次在影视剧和话剧中扮演重要角色,其中最为著名的便是在电影刘三姐中所饰演的刘狂飙看懂高启强的守身如玉,才明白安欣与小五在一起的真相书婷走了以后,这些年,很多人给我介绍过,说要再来一个老伴,我看谁都没感觉。在饭桌上,高启强认真的对安欣说了这样一句话。高启强这个人心思深沉,说话做事都是半真半假,鲜少有这么认真的时四川父母为26万彩礼卖掉16岁女儿,网友热议天价彩礼惹得祸01父母的选择如今时代,婚恋自由,早已不是父母之命,媒妁之言。可在四川某地,却发生了一件让人痛心的事情,引发网友热议。近日,有媒体曝光四川某地,一个16岁的女孩,父母在她不知情的情狂飙看懂赵立冬说的一句话,才明白为何李响陆寒必死安欣却能活近日,狂飙终于大结局了。随着高启强等一众黑恶势力代表被送上了法庭,京海市保护伞被彻底铲除,京海市也终于重见光明。京海市之所以能有重见光明的一天,离不开安欣等人的不懈努力。但是李响,曼联45亿镑不卖国米12亿没人买网友北上广和小县城的差别最近曼联要易主的消息炒得沸沸扬扬,其中最志在必得的买家,当属卡塔尔投资银行主席之一贾西姆阿勒萨尼。可尽管他的出价达到了惊人的45亿英镑,格雷泽兄弟依然摆出一副待价而沽的架势。或许有94岁老奶奶的独居生活火了,常年坚持断舍离,被34万网友羡慕有94岁高龄,常年坚持极简主义,无论家具摆设还是生活起居,尽可能断舍离,这就是正在走红,被34万网友羡慕催更的老奶奶,家居博主快乐李小抠的外婆。有时候我经常想,年轻人的断舍离和老年狂飙中的三位拖后腿演员,换掉他们,这部剧就近乎完美全民爆款剧狂飙,全端表现创历史新高,播出23天,播放量达到40亿,热度打破天花板,成为cctv8近九年的剧王,相信很长一段时间,都没有人能打破这一纪录。狂飙热度爆炸而狂飙大受欢迎的假发假臀假肌肉,看了明星的真实一面,网友我的容貌焦虑治好了文2号探秘人编辑2号探秘人明星和普通人不同,他们追求极致瘦过度美,看似美好,实际只能让大家陷入怪圈,大众反馈过来都是各种各样的容貌焦虑。眼见并不能说明一切,明星完美人设的背后,其实
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网