首頁 > Java > java教程 > 提高 Spring Boot 應用程式的效能 - 第一部分

提高 Spring Boot 應用程式的效能 - 第一部分

王林
發布: 2024-08-22 12:33:43
原創
710 人瀏覽過

Melhorando o desempenho de aplicações Spring Boot - Parte I

啟動 Spring Boot 應用程式時,我們通常會使用啟動器提供的預設設置,這對於大多數情況來說已經足夠了。但是,如果我們需要效能,則可以進行具體調整,如本文第一部分所示。

Tomcat 替換為另一個 servlet 容器

應用webRESTFul,使用Spring MVC,一般會加入spring-boot-starter-web 依賴,預設使用Tomcat 作為網路伺服器。然而,還有更有趣的替代方案,例如Undertow,它是一個高效能web 伺服器,具有異步和非阻塞架構,允許您處理大量資料高效的同時連接,使其適合高性能應用。我們並不是說 Tomcat 不好,但我們可以給 Undertow 一個機會。

Spring中加入Undertow

為了讓我們使用Undertow 作為web 伺服器,我們需要忽略spring-boot-starter-web 已經新增的spring-boot-starter-tomcat 依賴項然後再加入spring- boot-starter-undertow。

使用 pom.xml:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
            </exclusions>
        </exclusions>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-undertow</artifactId>
    </dependency>
</dependencies>
登入後複製

使用build.gradle:

dependencies {
    implementation('org.springframework.boot:spring-boot-starter-web') {
        exclude group: 'org.springframework.boot', module: 'spring-boot-starter-tomcat'
    }
    implementation 'org.springframework.boot:spring-boot-starter-undertow'
}

登入後複製

配置潛流

透過 application.properties 或 application.yml,我們可以設定我們希望伺服器使用多少 IO 執行緒 和多少個 工作執行緒

使用 application.yml

server:
  undertow:
    threads:
      io: 4
      worker: 64
登入後複製

使用 application.properties

server.undertow.threads.io=4
server.undertow.threads.worker=64
登入後複製

I/O 執行緒 執行非阻塞操作,永遠不應該執行阻塞操作,因為它們負責偵聽到達應用程式的連接,然後將它們傳送到處理佇列。常見值為每個 CPU 核心兩個 I/O 執行緒

工作執行緒執行阻塞操作,例如由I/O 執行緒傳送到處理佇列的Servlet請求。理想值取決於工作負載,但通常建議每個 CPU 核心配置 10 個左右的執行緒。

有關更詳細的資訊和更多可探索的選項,只需前往 Undertow 文件。

壓縮 HTTP 回應

資料壓縮是一項旨在減少 HTTP 回應正文大小的功能,從而可以透過減少透過網路傳輸的資料量來提高應用程式的效能。

在 Spring Boot 中配置資料壓縮是一項簡單的任務,因為它支援此功能。

使用 application.yml

server:
  compression:
    enabled: true
    mime-types: text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json
    min-response-size: 1024
登入後複製

使用 application.properties

server.compression.enabled=true
server.compression.mime-types=text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json
server.compression.min-response-size=1024
登入後複製

server.compression.enabled:啟用/停用壓縮。
server.compression.mime-types:應壓縮的 MIME 類型清單。
server.compression.min-response-size:執行壓縮所需的「Content-Length」的最小大小。

至此,我們結束了文章的第一部分。在下一部分中,我們將詳細了解 Hikari、JPA 和 Hibernate,並學習如何配置它們,以進一步提高 Spring Boot 應用程式的效能。

以上是提高 Spring Boot 應用程式的效能 - 第一部分的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板