亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Springboot優(yōu)化內置服務器Tomcat優(yōu)化方式(underTow)

 更新時間:2024年12月10日 15:33:48   作者:Java楊永杰  
本文詳細介紹了Spring Boot中Tomcat和Undertow服務器的配置和優(yōu)化,包括初始線程數、最大線程數、最小備用線程數、最大請求數等參數的優(yōu)化建議,以及在高并發(fā)場景下Undertow相對于Tomcat的優(yōu)勢

前言

通過org.springframework.boot.autoconfigure.web.ServerProperties查看,其中包括屬性tomcat、jetty、undertow三種服務器的設置,默認啟用tomcat。

Tomcat 自身優(yōu)化

# Tomcat
server:
  tomcat:
    uri-encoding: UTF-8
    #最小線程數
    min-spare-threads: 500
    #最大線程數
    max-threads: 2500
    #最大鏈接數
    max-connections: 6500
    #最大等待隊列長度
    accept-count: 1000
    #請求頭最大長度kb
    max-http-header-size: 1048576
    #請請求體最大長度kb
    #max-http-post-size: 2097152
  #服務http端口
  port: 8080
  #鏈接建立超時時間
  connection-timeout: 12000
  servlet:
    #訪問根路徑
    context-path: /son

比較重要的有兩個:初始線程數和最大線程數。

  • 初始線程數:保障啟動的時候,如果有大量用戶訪問,能夠很穩(wěn)定的接受請求。
  • 最大線程數:用來保證系統(tǒng)的穩(wěn)定性。

其它參數優(yōu)化:

  • min-spare-threads:最小備用線程數,tomcat啟動時的初始化的線程數。
  • max-threads:Tomcat可創(chuàng)建的最大的線程數,每一個線程處理一個請求,超過這個請求數后,客戶端請求只能排隊,等有線程釋放才能處理。(建議這個配置數可以在服務器CUP核心數的200~250倍之間)
  • accept-count:當調用Web服務的HTTP請求數達到tomcat的最大線程數時,還有新的HTTP請求到來,這時tomcat會將該請求放在等待隊列中,這個acceptCount就是指能夠接受的最大等待數,默認100。如果等待隊列也被放滿了,這個時候再來新的請求就會被tomcat拒絕(connection refused)。
  • max-connections:這個參數是指在同一時間,tomcat能夠接受的最大連接數。一般這個值要大于(max-threads)+(accept-count)。
  • connection-timeout:最長等待時間,如果沒有數據進來,等待一段時間后斷開連接,釋放線程。

UnderTow優(yōu)化

為什么要變成UnderTow?

我們在相同機器配置下壓測Tomcat和Undertow,得到的測試結果如下所示:

  • Tomcat:

  • UnderTow:

內存使用對比:

結論:

Undertow在高并發(fā)業(yè)務場景中,性能優(yōu)于Tomcat

實現(xiàn)方式

POM文件移除tomcat換成underTow

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId><!-- 移除掉默認支持的 Tomcat -->
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-undertow</artifactId>
        </dependency>

配置相關參數:

# 是否打開 undertow 日志,默認為 false
server.undertow.accesslog.enabled=false
# 設置訪問日志所在目錄
server.undertow.accesslog.dir=logs
# 指定工作者線程的 I/0 線程數,默認為 2 或者 CPU 的個數
server.undertow.io-threads=
# 指定工作者線程個數,默認為 I/O 線程個數的 8 倍
server.undertow.worker-threads=
# 設置 HTTP POST 內容的最大長度,默認不做限制
server.undertow.max-http-post-size=0

最后直接main 方法啟動Springboot即可。

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Spring boot通過AOP防止API重復請求代碼實例

    Spring boot通過AOP防止API重復請求代碼實例

    這篇文章主要介紹了Spring boot通過AOP防止API重復請求代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • 深入理解SpringBoot?最大連接數及最大并發(fā)數

    深入理解SpringBoot?最大連接數及最大并發(fā)數

    SpringBoot能支持的最大并發(fā)量主要看其對Tomcat的設置,可以在配置文件中對其進行更改,本文就來介紹一下SpringBoot?最大連接數及最大并發(fā)數,感興趣的可以了解一下
    2023-08-08
  • Java雙重檢查加鎖單例模式的詳解

    Java雙重檢查加鎖單例模式的詳解

    今天小編就為大家分享一篇關于Java雙重檢查加鎖單例模式的詳解,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • Java同步容器和并發(fā)容器詳解

    Java同步容器和并發(fā)容器詳解

    這篇文章主要介紹了Java同步容器和并發(fā)容器詳解,容器是Java基礎類庫中使用頻率最高的一部分,Java集合包中提供了大量的容器類來幫組我們簡化開發(fā),下面小編和大家來一起學習下吧
    2019-06-06
  • java防反編譯最簡單的技巧分享

    java防反編譯最簡單的技巧分享

    這篇文章主要給大家分享了關于java防反編譯最簡單的技巧,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧。
    2017-09-09
  • Java 異步線程監(jiān)聽與結果回調及異常捕獲總結分析

    Java 異步線程監(jiān)聽與結果回調及異常捕獲總結分析

    異常是程序之中導致程序中斷的一種指令流,異常一旦出現(xiàn)并且沒有進行合理處理的話,那么程序就將中斷執(zhí)行,這篇文章綜合介紹了異步線程監(jiān)聽與結果回調及異常捕獲
    2021-11-11
  • Spring和Hibernate的整合操作示例

    Spring和Hibernate的整合操作示例

    這篇文章主要介紹了Spring和Hibernate的整合操作,結合實例形式詳細分析了Spring和Hibernate的整合具體步驟、實現(xiàn)方法及相關操作注意事項,需要的朋友可以參考下
    2020-01-01
  • java 中RSA的方式實現(xiàn)非對稱加密的實例

    java 中RSA的方式實現(xiàn)非對稱加密的實例

    這篇文章主要介紹了java 中RSA的方式實現(xiàn)非對稱加密的實例的相關資料,這里提供實例幫助大家理解這部分知識,需要的朋友可以參考下
    2017-08-08
  • Java數據類型之引用數據類型解讀

    Java數據類型之引用數據類型解讀

    這篇文章主要介紹了Java數據類型之引用數據類型,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • java解析json數組方式

    java解析json數組方式

    這篇文章主要介紹了java解析json數組方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06

最新評論