私たちは本質的に、約50以上の戦争(各サービスに1つずつ)を持つサービスベースのバックエンドをホストしているため、戦争の起動性能を向上させようとしています。これらすべてのサービスを一度に展開すると、PermGenが発生することがあります。また、サーバーの再起動にかなりの時間がかかります。だから私はパフォーマンスの向上のためにアーキテクチャのすべての可能性(WLS、Spring、Hibernate、CXF)を評価しようとしています。Spring AOPとAspectJの起動時のパフォーマンス/メモリの要求
すべてのトランザクションはSpring AOPによって行われ、SLA/PoliciesのいくつかはAOP Pointcutsを使用します。
Spring AOPポイントカットが作成されていないか、またはJUnitがPermGenになる原因がたくさんある場合があります。スタートアップ時間の大半は、pointcutの作成とpointcutオブジェクトの取得です(カスタムのPointcut/Interceptorクラスのいくつかを単一のクラスと単一のPointcutにマージして、起動時に作成されるPointcutの量を減らしました約30%)。
このすべてをAspectJに変換する価値はありますか(私はこれまで使用していませんでした)、コンパイル時に何かの利点を得るには?これにより、起動時のパフォーマンスとメモリ使用のスピードは向上しますか?
そして、私は間違いなく、起動やメモリの要件のオフロードを取る方法から純粋に探しています、とだけしたい:
私は記事を見てきました努力するだけの価値があれば、移行を試みてください。