あなたのSpringBootプロジェクトのアプリケーションを最適化する方法

システムは、かなりの程度まで、多くの並行処理に耐えることができますアーキテクチャを決定します~~次を分析する著者(SMSプロジェクト会社レベル)の個人的な経験を持つプロジェクト以下

背景

オンラインメッセージングシステムと年以上の安定した動作が、ある日突然、システムの多数の調査は、ダウン短期の要求負荷にシステムを引き起こす、マーケティング活動、集中型のマーケティングメッセージのプッシュの多数に従事する部門があり、サービスが利用できない、タイムアウトを要求におけるので、高すぎますIすぐメッセージングシステムのための次の主要なアーキテクチャが調整されている、非同期の同期性質上、SMSマーケティングはもちろん、変更、システムアーキテクチャを調整し、主にシステムのスループットを向上させることができますが、このステップは、時には困難な場合があります。アーキテクチャの調整は、あなたのアーキテクチャは、もはや調整可能であると仮定していない、ここで議論されていません。通常のspringbootアプリケーションの場合、どのようにそれを最適化するには?

デフォルトは組み込みのTomcatの使用SpringBoot Webプロジェクトでは、もちろん、それが良いものを内蔵し、内蔵の桟橋をサポートするように設定することができますか?

  1. マイクロ便利なサービス展開。
  2. 簡単にプロジェクト開始、TomcatやJettyのをダウンロードする必要はありません

私たちは、次の最適化の点を考慮する必要があります。

  • スレッド
  • タイムアウト
  • JVMの最適化

スレッド数の焦点は、スレッドの初期数とスレッドの最大数は、スレッドの初期数は、多数のユーザーがアクセスに存在する場合、非常に安定した受信を要求することができ、スタートアップを保証しています。

システムの安定性を確保するため、および接続タイムアウトを待つように続けていることを確認するために使用されるスレッドの最大数、存在する場合、遅延を超える多数の要求が比較的高い、スレッド内の簡単な演奏ではありませんが、このケースでは、生産はかつて、より一般的ですネットワークが不安定、パケット損失に好む、またできるマシン敗北。

JVMの一般的な最適化は、初期ヒープとスタック、およびガベージコレクションを設定された最大を高めることです。

春のブートコンフィギュレーション・ファイルapplication.ymlでは、以下の設定を追加

server:
 tomcat:
 min-spare-threads: 20
 max-threads: 100
 connection-timeout: 5000

Tomcatが最適化された構成の一部であった、スレッドの最大数は、スレッドを初期化し、100でタイムアウトが5000msであり、20であります

より最適点のみ最適化された方向を提供するために、特定のパラメータ設定、または圧力測定結果の実際の生産の対象に!

ます。https://www.jianshu.com/p/8b94abe57208で再現

おすすめ

転載: blog.csdn.net/weixin_34082789/article/details/91063901