成人视屏在线观看-国产99精品-国产精品1区2区-欧美一级在线观看-国产一区二区日韩-色九九九

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

springboot tomcat最大線程數(shù)與最大連接數(shù)解析

瀏覽:108日期:2023-03-07 09:46:44
springboot tomcat最大線程數(shù)與最大連接數(shù)

首先看看springboot內(nèi)置的tomcat,該如何配置這兩個(gè)參數(shù)

# 在配置文件中添加如下內(nèi)容# tomcat最大線程數(shù),默認(rèn)為200server.tomcat.max-threads=200# tomcat最大連接數(shù),默認(rèn)為10000(網(wǎng)上的說(shuō)法)server.tomcat.max-connections=300如何理解上面兩個(gè)參數(shù)

為了方便理解,我這里使用了springboot編寫了一個(gè)簡(jiǎn)單了的服務(wù),包含一個(gè)模擬登錄的接口,并使用jmeter進(jìn)行測(cè)試,不了解jmeter如何使用的朋友可以翻看我的歷史文章。部分代碼如下

// java 代碼@RestController@RequestMapping('/user')public class UserController { @Autowired private UsersRepository usersRepository; @PostMapping('/login') public String login(Users user) throws InterruptedException {// 這里將線程掛起3秒,方便觀察結(jié)果Thread.sleep(3000);Users checkUser = usersRepository.findByName(user.getName());if(checkUser == null) return '用戶不存在';if(!checkUser.getPassword().equals(user.getPassword())) return '密碼錯(cuò)誤';System.out.println('用戶:' + checkUser.getName() + ',登錄成功');return '登錄成功'; }}

接下來(lái),設(shè)置jmeter中的線程數(shù),分別測(cè)試以下場(chǎng)景返回的結(jié)果

注意:我在java代碼中添加將線程掛起3秒的語(yǔ)句,實(shí)際的響應(yīng)時(shí)間應(yīng)該減去3秒

場(chǎng)景1:并發(fā)請(qǐng)求數(shù) <= tomcat最大線程數(shù)200

springboot tomcat最大線程數(shù)與最大連接數(shù)解析

設(shè)置jmeter并發(fā)請(qǐng)求數(shù)量為200

springboot tomcat最大線程數(shù)與最大連接數(shù)解析

結(jié)果統(tǒng)計(jì)

結(jié)論:可以看到200個(gè)請(qǐng)求,平均響應(yīng)時(shí)間為(3156-3000)=156ms,最小響應(yīng)時(shí)間為23ms,最大響應(yīng)時(shí)間為336ms,響應(yīng)結(jié)果正常。

場(chǎng)景2:并發(fā)數(shù) >tomcat最大線程數(shù)200,以下我將jmeter線程數(shù)設(shè)置為201,再來(lái)看看結(jié)果

springboot tomcat最大線程數(shù)與最大連接數(shù)解析

看了下,平均值,最小值好像沒什么異常,但是最大值卻去到了5606毫秒,接近6S的時(shí)間。為什么會(huì)有個(gè)接近6S的最大值,原因很簡(jiǎn)單,因?yàn)閠omcat最大的線程數(shù)為200,201的并發(fā)請(qǐng)求量,超出了并發(fā)處理的數(shù)量200,多出來(lái)的1個(gè)請(qǐng)求,需要等待某個(gè)處理中的請(qǐng)求處理完成。

這里我翻看了jmeter中大部分的http請(qǐng)求,驗(yàn)證了我的想法。大部分的http請(qǐng)求,響應(yīng)時(shí)間都是3000多毫秒,只有最后一個(gè)響應(yīng)的請(qǐng)求,響應(yīng)的時(shí)間為5606毫秒,截圖如下

springboot tomcat最大線程數(shù)與最大連接數(shù)解析

場(chǎng)景3:請(qǐng)求數(shù)超過(guò)最大連接數(shù)300,這里將jmeter并發(fā)線程數(shù)設(shè)置為600

springboot tomcat最大線程數(shù)與最大連接數(shù)解析

異常數(shù)量由原本的百分之0變成37.45%

springboot tomcat最大線程數(shù)與最大連接數(shù)解析

可以看到有大量的沒有正常響應(yīng)的http請(qǐng)求,原因很簡(jiǎn)單,因?yàn)槌^(guò)了tomcat設(shè)置的最大連接數(shù),服務(wù)器拒絕了該次請(qǐng)求的連接

SpringBoot中修改tomcat最大連接數(shù)、最大線程數(shù)、最大等待數(shù)1)maxThreads(最大線程數(shù))

每一次HTTP請(qǐng)求到達(dá)Web服務(wù)器,Web服務(wù)器都會(huì)創(chuàng)建一個(gè)線程來(lái)處理該請(qǐng)求,該參數(shù)決定了應(yīng)用服務(wù)同時(shí)可以處理多少個(gè)HTTP請(qǐng)求,tomcat默認(rèn)為200;

2)accepCount(最大等待數(shù))

當(dāng)調(diào)用Web服務(wù)的HTTP請(qǐng)求數(shù)達(dá)到tomcat的最大線程數(shù)時(shí),還有新的HTTP請(qǐng)求到來(lái),這時(shí)tomcat會(huì)將該請(qǐng)求放在等待隊(duì)列中,這個(gè)acceptCount就是指能夠接受的最大等待數(shù),默認(rèn)100.如果等待隊(duì)列也被放滿了,這個(gè)時(shí)候再來(lái)新的請(qǐng)求就會(huì)被tomcat拒絕(connection refused);

3)maxConnections(最大連接數(shù))

這個(gè)參數(shù)是指在同一時(shí)間,tomcat能夠接受的最大連接數(shù)。一般這個(gè)值要大于maxThreads+acceptCount。

根據(jù)公司用戶量及機(jī)器配置信息,公司的最大連接數(shù)、最大線程數(shù)和最大等待數(shù)優(yōu)化為:

#最大連接數(shù) server.tomcat.max-connections=2000 #最大線程數(shù) server.tomcat.max-threads=1000 #最大等待數(shù) server.tomcat.accept-count=800

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 国产三级欧美 | 最新精品在线视频 | 女人张开腿让男人捅的视频 | 自拍偷拍亚洲区 | 黄 色 免费网 站 成 人 | 成人18网址在线观看 | 午夜一级片 | 亚洲视频在线观 | 欧美自拍网 | 日本xxxxx久色视频在线观看 | 欧美国产高清欧美 | 69av亚洲| 欧美ab| 国产三级做爰高清在线 | 精品一久久香蕉国产二月 | 午夜看片a福利在线 | 国产操操 | 美国美女一级毛片免费全 | 成人18免费视频 | 九九精品视频在线播放8 | 亚洲最大黄网 | 91精品国产综合久久香蕉 | 欧美扣逼视频 | 婷婷在线成人免费观看搜索 | 一级特黄aa大片欧美网站 | 日本加勒比视频在线观看 | 综合色久 | 久久精品国产精品亚洲艾 | 九一精品 | 国产在线观看一区二区三区 | 国产三级日产三级韩国三级 | 国产一区亚洲欧美成人 | 国产性生活视频 | 日本暖暖视频在线播放 | 亚洲免费高清视频 | 久久精品成人免费看 | 日韩av线上| 久久国产精品夜色 | 日本久久不射 | 国产精品三 | 国产成人久久精品二区三区牛 |