Spring Boot アプリケーションを起動するときは、通常、スターターによって提供されるデフォルト設定を使用します。ほとんどの場合、これで十分です。ただし、パフォーマンスが必要な場合は、この記事の最初の部分で説明するように、特定の調整を行うことができます。
Spring MVC を使用する アプリケーション web、RESTFul は、通常、デフォルトで Tomcat をウェブ サーバー。ただし、Undertow など、より興味深い代替手段もあります。これは、非同期でノンブロッキングのアーキテクチャを備えた高性能 Web サーバーであり、大量の処理を可能にします。同時接続を効率的に処理できるため、高パフォーマンスのアプリケーションに適しています。 トムキャットが悪いと言っているわけではありませんが、アンダートウにチャンスを与えることはできます。
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 コアあたり 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 について詳しく学び、それらを構成する方法を学びます。
以上がSpring Boot アプリケーションのパフォーマンスの向上 - パート Iの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。