最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot內(nèi)置tomcat調(diào)優(yōu)測(cè)試優(yōu)化

 更新時(shí)間:2021年04月30日 11:52:30   作者:蝸牛烏龜一起走  
這篇文章主要介紹了SpringBoot內(nèi)置tomcat調(diào)優(yōu)測(cè)試優(yōu)化,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

問題

怎么配置springBoot 內(nèi)置tomcat,才能使得自己的服務(wù)效率更高呢?

基礎(chǔ)配置

Spring Boot 能支持的最大并發(fā)量主要看其對(duì)Tomcat的設(shè)置,可以在配置文件中對(duì)其進(jìn)行更改。我們可以看到默認(rèn)設(shè)置中,Tomcat的最大線程數(shù)是200,最大連接數(shù)是10000。 這個(gè)不同SpringBoot 版本可能有所細(xì)微差別。本文測(cè)試基于Springboot 2.0.7.RELEASE

默認(rèn)配置

/**
		 * Maximum amount of worker threads.
		 */
		private int maxThreads = 200;

		/**
		 * Minimum amount of worker threads.
		 */
		private int minSpareThreads = 10;

		/**
		 * Maximum size in bytes of the HTTP post content.
		 */
		private int maxHttpPostSize = 2097152;

		/**
		 * Maximum size in bytes of the HTTP message header.
		 */
		private int maxHttpHeaderSize = 0;

		/**
		 * Whether requests to the context root should be redirected by appending a / to
		 * the path.
		 */
		private Boolean redirectContextRoot = true;

		/**
		 * Whether HTTP 1.1 and later location headers generated by a call to sendRedirect
		 * will use relative or absolute redirects.
		 */
		private Boolean useRelativeRedirects;

		/**
		 * Character encoding to use to decode the URI.
		 */
		private Charset uriEncoding = StandardCharsets.UTF_8;

		/**
		 * Maximum number of connections that the server accepts and processes at any
		 * given time. Once the limit has been reached, the operating system may still
		 * accept connections based on the "acceptCount" property.
		 */
		private int maxConnections = 10000;

		/**
		 * Maximum queue length for incoming connection requests when all possible request
		 * processing threads are in use.
		 */
		private int acceptCount = 100;

測(cè)試步驟

通過我們查看源碼得知了(org.springframework.boot.autoconfigure.web.ServerProperties)springBoot 內(nèi)置tomcat 默認(rèn)配置,現(xiàn)在我們?yōu)榱嗽诒镜伢w現(xiàn)出效果,我們將配置參數(shù)有意調(diào)小配置如下進(jìn)行壓測(cè),同時(shí)將壓測(cè)接口中設(shè)置sleep(2000) 模擬線程沒有釋放。

  tomcat:
     #最小線程數(shù)
    min-spare-threads: 5
    #最大線程數(shù)
    max-threads: 5
    #最大鏈接數(shù)
    max-connections: 5
    #最大等待隊(duì)列長(zhǎng)度
    accept-count: 1

該配置對(duì)應(yīng)壓測(cè)

在這里插入圖片描述

通過壓測(cè)100并發(fā) 發(fā)現(xiàn)異常達(dá)到了85% 由于我們配置ReadTimeout 和ConnectTimeout 配置2秒 100個(gè)線程同時(shí)達(dá)到,處理最大線程才1,排隊(duì)也是1 導(dǎo)致一個(gè)是沒有線程處理請(qǐng)求導(dǎo)致超時(shí)一個(gè)是排不上隊(duì)別拒絕。當(dāng)我按照本機(jī)cup 合理配置后看看壓測(cè)情況。優(yōu)化配置如下:

  tomcat:
      #最小線程數(shù)
    min-spare-threads: 100
    #最大線程數(shù)
    max-threads: 600
    #最大鏈接數(shù)
    max-connections: 10000
    #最大等待隊(duì)列長(zhǎng)度
    accept-count: 1000

在這里插入圖片描述

如上圖 同樣是100并發(fā) 異常率為0 全部通過,響應(yīng)時(shí)間也是減除sleep(2000) 大多數(shù)都是10毫秒內(nèi)。優(yōu)化效果可見顯著。

到此這篇關(guān)于SpringBoot內(nèi)置tomcat調(diào)優(yōu)測(cè)試優(yōu)化的文章就介紹到這了,更多相關(guān)SpringBoot內(nèi)置tomcat調(diào)優(yōu)測(cè)試內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot內(nèi)嵌Tomcat臨時(shí)目錄問題及解決

    SpringBoot內(nèi)嵌Tomcat臨時(shí)目錄問題及解決

    這篇文章主要介紹了SpringBoot內(nèi)嵌Tomcat臨時(shí)目錄問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • 圖解程序員必須掌握的Java常用8大排序算法

    圖解程序員必須掌握的Java常用8大排序算法

    本文以圖片與文字結(jié)合的方式講解了程序員必須掌握的Java常用8大排序算法:插入排序、冒泡排序、選擇排序、希爾排序 、快速排序、歸并排序、堆排序和LST基數(shù)排序,需要的朋友可以參考下
    2015-07-07
  • 淺談Java中的this作為返回值時(shí)返回的是什么

    淺談Java中的this作為返回值時(shí)返回的是什么

    Java中的this作為返回值時(shí)返回的是什么?下面小編就為大家介紹一下Java中的this作為返回值時(shí)返回。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11
  • Java對(duì)象初始化順序的使用

    Java對(duì)象初始化順序的使用

    本篇文章介紹了,Java對(duì)象初始化順序的使用。需要的朋友參考下
    2013-04-04
  • Spring?Security登錄表單配置示例詳解

    Spring?Security登錄表單配置示例詳解

    這篇文章主要介紹了Spring?Security登錄表單配置,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • Java?Web項(xiàng)目中解決中文亂碼方法總結(jié)(三種最新方法)

    Java?Web項(xiàng)目中解決中文亂碼方法總結(jié)(三種最新方法)

    這篇文章主要介紹了Java?Web項(xiàng)目中解決中文亂碼方法總結(jié),本文給大家分享三種最新解決方法,需要的朋友可以參考下
    2022-06-06
  • Java高效利用異常處理的技巧總結(jié)

    Java高效利用異常處理的技巧總結(jié)

    這篇文章主要為大家詳細(xì)介紹了Java如何高效利用異常處理,從而達(dá)到優(yōu)化代碼的效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以學(xué)習(xí)一下
    2023-09-09
  • 詳解java中jvm虛擬機(jī)棧的作用

    詳解java中jvm虛擬機(jī)棧的作用

    這篇文章主要介紹了jvm虛擬機(jī)棧的作用,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • SpringBoot @ComponentScan掃描的局限性方式

    SpringBoot @ComponentScan掃描的局限性方式

    文章總結(jié):SpringBoot的@ComponentScan注解在掃描組件時(shí)存在局限性,只能掃描指定的包及其子包,無法掃描@SpringBootApplication注解自動(dòng)配置的組件,使用@SpringBootApplication注解可以解決這一問題,它集成了@Configuration、@EnableAutoConfiguration
    2025-01-01
  • 如何在Maven項(xiàng)目中運(yùn)行JUnit5測(cè)試用例實(shí)現(xiàn)

    如何在Maven項(xiàng)目中運(yùn)行JUnit5測(cè)試用例實(shí)現(xiàn)

    這篇文章主要介紹了如何在Maven項(xiàng)目中運(yùn)行JUnit5測(cè)試用例實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04

最新評(píng)論

昌邑市| 枣阳市| 渭源县| 武强县| 四川省| 仁化县| 太康县| 凤庆县| 宝坻区| 米泉市| 武宁县| 海盐县| 江华| 建昌县| 乌鲁木齐县| 敖汉旗| 拜城县| 西青区| 北安市| 姜堰市| 白河县| 嘉黎县| 罗源县| 红原县| 辉南县| 林周县| 通化市| 金阳县| 伊金霍洛旗| 正定县| 汝州市| 文水县| 定陶县| 安平县| 南城县| 忻城县| 台东市| 敖汉旗| 邹平县| 航空| 新干县|