第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 を実行することを検討してください。