Spring Boot アプリケーションを起動するときは、通常、スターターによって提供されるデフォルト設定を使用します。ほとんどの場合、これで十分です。ただし、パフォーマンスが必要な場合は、この記事の最初の部分で説明するように、特定の調整を行うことができます。
Spring MVC を使用する アプリケーション web、RESTFul は通常、デフォルトで Tomcat をサーバーとして使用する spring-boot-starter-web 依存関係を追加します。 ウェブ。ただし、Undertow など、より興味深い代替手段もあります。これは、非同期でノンブロッキングのアーキテクチャを備えた高性能の web サーバーであり、大量のデータを処理できます。同時接続を効率的に処理できるため、高パフォーマンスのアプリケーションに適しています。 Tomcat が悪いと言っているわけではありませんが、Undertow.
にチャンスを与えることはできます。Undertow を web サーバーとして使用するには、spring-boot-starter-web がすでに追加している spring-boot-starter-tomcat 依存関係を無視する必要があります。次に、 spring-boot-starter-undertow.
を追加します。pom.xml の使用:
org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-tomcat org.springframework.boot spring-boot-starter-undertow
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 コアあたり 2 つの I/O スレッドです。
ワーカー スレッドは、I/O スレッドによって処理キューに送信されたサーブレット リクエストなどのブロック操作を実行します。理想的な値はワークロードによって異なりますが、一般的には CPU コアあたり約 10 スレッドを構成することをお勧めします。
さらに詳細な情報と検討できるその他のオプションについては、Undertow ドキュメントを参照してください。
データ圧縮は、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」の最小サイズ。
これにて前編を終了とさせていただきます。次のパートでは、Spring Boot アプリケーションのパフォーマンスをさらに向上させるために、Hikari、JPA、および Hibernate について詳しく学び、それらを構成する方法を学びます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3