第6章 MTA パフォーマンスの最適化

MTA のパフォーマンスは、ハードウェア設定、アプリケーション内のファイルの数と種類、評価するアプリケーションのサイズと数、アプリケーションにソースコードとコンパイル済みコードのどちらが含まれているかなど、多くの要因に依存します。たとえば、10 MBを超えるファイルは、処理に時間がかかる場合があります。

一般に、MTA はクラスの逆コンパイルに約 40%、ルールの実行に 40% の時間を費やし、残りの時間は他のタスクの処理とレポートの生成に費やします。本セクションでは、MTA のパフォーマンスを改善するために実行できる内容を説明します。

6.1. アプリケーションのデプロイおよび実行

ハードウェアをアップグレードする前に、これらの提案を試してください。

  • 可能な場合は、アーカイブではなく、ソースコードに対して MTA を実行します。これにより、追加の JAR およびアーカイブをコンパイルする必要がなくなります。
  • <MTA_HOME>/bin/mta-cli コマンドラインで --packages 引数を使用して、MTA によって評価されるパッケージのコンマ区切りリストを指定します。この引数を省略すると、MTA はすべてを逆コンパイルするため、パフォーマンスに大きな影響があります。
  • --excludeTags 引数を指定すると、処理から除外できます。
  • プロプライエタリーパッケージや含まれている依存関係などの不要なパッケージやファイルの逆コンパイルや解析は回避してください。
  • 大規模なアプリケーションを分析する際に ulimit を増やします。Red Hat Enterprise Linux でこれを行う方法は、「Red Hat Enterprise Linux でオープンファイルの数を制限する」を参照してください。
  • ラップトップまたはデスクトップマシンよりも優れたリソースを持つサーバーにアクセスできる場合は、そのサーバーで MTA を実行することを検討してください。