游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

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();}
  如果要避免这样的情况发生,就涉及到加锁的问题了,就不在这里讨论了。

真正的高人,都懂得往下看俗话说:人往高处走,水往低处流。往高处走是每个人的追求。而居高不上的人,对细节的控制总是比普通人好。他们有俯瞰一切的视野,也有向下看的意识。真正站得高的人,都往下看。我见……埋葬了五百万穆斯林,全球最大的墓地,纳杰夫和平谷全球之旅我在伊拉克大家好,我是申典启,一个实地走访世界各地,关注全球华人的旅行者。今天我来到了伊拉克十八省之一纳杰夫省,1976年以前是迪瓦尼耶省的一部分。首府纳杰……克制有方法丨黄忠优化后如何应对?这些方法应该对您有帮助黄忠优化后的效果相信大家应该都见识过了吧,在12月7日的调整中黄忠获得了一些技能机制上的更新,不仅被动容易丢失的问题得到了解决,而且他的大招还获得了一个可以刷新一技能的效果,这……如何让孩子学好英语?英语,无论是作为学科还是日后工作所需,对孩子来说都是非常重要的,可是我们总是为孩子的英语而发愁,那么如何让孩子学好英语呢?首先英语的学习主要在记,记单词是首要的,因为单词……王者荣耀操作最无脑的英雄有哪些?看看你玩的英雄在不在里面无脑一词意味着不需要思考或复杂操作即可轻松获得优异的战绩。这种游戏风格适合刚接触游戏的玩家,而一些英雄的设计则更加偏向简单直接,容易上手。这些英雄的易用性深受众多玩家的喜爱。那……雪飞燕今日造雪迎接北京冬奥会11月15日,北京冬奥会延庆赛区有着雪飞燕之称的国家高山滑雪中心开始造雪,迎接未来将在这里举行的北京冬奥会高山滑雪比赛,堪称冬奥会王冠上钻石级赛场即将亮相。雪飞燕国家高山……2022年重磅新能源车盘点,小鹏新车实图曝光,蔚来也跟着凑热2022年就剩下差不多最后的两个月时间了,在这一年里,各家车企都推出了全新的新能源车型,小鹏新车实图曝光,蔚来也跟着凑热闹,究竟有哪些呢,一起来盘点下。小鹏G9小鹏G9拥……旅游休闲方式迭代升级游艇产业发展前景广阔中新网厦门11月11日电(记者杨伏山)第十五届中国(厦门)国际游艇展览会11日在厦门举办。作为其重头戏之一,游艇产业发展论坛开讲。与会业界人士称,伴随旅游休闲方式迭代升级,游艇……冬天的时髦,取决于外套里面穿什么一到冬天,可能很多人和我一样,第一反应就是剁手厚实的大衣、羽绒服,但其实藏在里面的内搭也很重要,尤其进到室内脱去外套,我觉得内搭反倒才是时髦的关键。而且相比外套比较昂贵,……干了半辈子家电销售,说说4种常用家电的选购技巧,内行人大实话新房装修,家用电器俨然是我们生活中必不可少的。现在市面上家电种类繁多,同样的产品价格也是参差不齐,让人不知道该从何选起。其实,买家电最重要的不在于挑选价格高的产品,而在于挑选适……华为nova10Pro和荣耀70Pro都卖3699元,价格相预热多日的华为nova10Pro终于发布了,果然没有意外,华为nova10Pro并不支持5G网络,定价与上一代差不多,最为关键的是,华为nova10Pro依旧搭载了骁龙778G……高秀敏去世后,何庆魁回老婆身边,17年过去女儿的坚持让人泪目2001年,小品《卖拐》横空出世,一经播出迅速获得观众的掌声和喜爱,紧接着第二年,小品《买车》又登上春晚的舞台,迅速掀起了一股热播狂潮。作为主演的赵本山、范伟以及高……
市值蒸发2200亿!入股阿斯顿马丁,吉利全球并购之路能走多远热衷于买买买的吉利汽车,又成功再下一城。9月30日,吉利控股对外宣布,已完成对英国超豪华性能品牌阿斯顿马丁7。60的股份收购,而这也意味着吉利汽车的投资版图又再一次扩大。……iPhone14全系涨价15?机构密集调研,果链股要火?中国基金报记者文夕苹果公司新机发布会临近,市场对iPhone14定价也众说纷纭。9月6日,素有地表最强果链分析师之称的天风国际郭明錤最新预测,iPhone14系列所……为什么明天就要和篮网决战了76人一点也不慌?恩哈二将牛篮网和76人明天的对决,绝对是一场不能不看的比赛。焦点如下:一、排名,相信篮网在剩下的几场客场比赛中能赢还是想赢的,有欧神仙赢面至少大些,多赢几场才有可能冲到第六,才不至……新疆队无缘三连胜!外援被裁判驱逐成转折,球迷表示北控胜之不武北京时间10月15日,CBA常规赛,北控男篮对决新疆男篮!如果不算和广东队那一场,北控队还没有赢过球,上一轮他们输给了山东队。球队本赛季是要比上赛季强大的,他们引入超级外援高登……统一响应接口封装在上一家公司中我经常看到接口中返回的直接是一个对象集。然而在响应后却又封装了{msg:,state:,obj:},这些参数我就很纳闷这个是如何实现的。我第一反应就是使用了AOP……为什么我的皮肤总是出问题?是你护肤不到位为什么我脸上总是起痘、冒油、干燥呀?相信有很多女生都有这种情况,自己的皮肤总是很容易出问题,其实这是你的护肤方法不到位,导致脸部问题频出。为什么你的脸爱长痘痘?1、……王林平随笔四方食事不过一碗人间烟火四方食事,不过一碗人间烟火,人间烟火,不过一处屋檐下的繁衍生息,繁衍生息,又幻化成了人间烟火,事实就是如此。家附近就有这样一处人间烟火的好去处,那就是南锣鼓巷。好久不去南……发现身边美景,跟着摄影师学拍照,把城市风景拍摄出别样味道关注柳侍墨,轻松学摄影!在摄影新手的认知里,摄影大片就是壮丽山河和名胜古迹;所以很多人会把自己拍不出好看的照片,归咎于身在城市,走不远、出不去。持有这种想法的人不在……全职妈妈和上班族家长,带大的学生明显不同,幼师的经验之谈生育一直和教育相互挂钩,现在的年轻人对学生的教育问题愈发重视,而面对严重的教育内卷,家长们为了不让学生输在起跑线上也是煞费苦心。时代在进步,大家的生活水平逐渐得到提高,同……美媒列出202223赛季湖人18名球员的年薪,三巨头一起已1湖人无法更好地交易送走拉塞尔威斯布鲁克,这也是让湖人三巨头在202223赛季的总年薪超过1。15亿美元。这对于湖人来说非常打击,因为这样他们没有太大的薪资空间去补强其他位置出色……七子连心其利断金随机点数大师联动葫芦兄弟新版本再现经典说起《葫芦兄弟》,相信没有人会对这个IP感到陌生,这不仅是我们一代人的童年记忆,像葫芦娃救爷爷和穿山甲到底说了什么这样的经典影视梗也一直流传到了现在,可以说葫芦兄弟也称得上是一……甄嬛传甄嬛永远也不知道,四阿哥在登基前,苏培盛早已背离了她《甄嬛传》于2011年11月在中国大陆上映,一经播出,便收获无数追捧。距现在,《甄嬛传》播出已经11年了,但热度仍然不减当年。许多网友一遍又一遍地刷着《甄嬛传》,各……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网