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

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

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

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

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

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