現在、古いサーバー(1GBのRAMのみ)でAlfrescoCommunityをテストしています。これはコミュニティバージョンであるため、構成を変更するたびに再起動する必要があります(DWGファイルのプレビューの生成などの機能を追加しようとしています)。ただし、再起動には非常に長い時間がかかります(約4分だと思います)。これは、使用可能なメモリの量が制限されていることが原因である可能性があります。この再起動時間を改善できる機能や設定を知っている人はいますか?
3 に答える
すべてのパフォーマンスの問題と同様に、特効薬はめったにありません。
メモリ不足 - アプリは起動していますが、512m のヒープはアプリケーションを収めるのに十分であり、起動時間の半分を GC の実行に費やしています。
次のいずれかを見てください: 1. -verbose:gc 2. jstat -gcutil 2. jvisualvm - はるかに優れた UI
GC でどれくらいの時間が費やされているかを確認しようとしています。つまり、99% -> 95% など、ヒープの多くを再利用していない多くのフル ガベージ コレクション イベントを探します。
解決策 - より多くのヒープ、他には何もありません。
-XX:+AggressiveHeap を試して、JVM がボックスのメモリ使用量を最大限に活用できるようにすることをお勧めします。唯一の問題は、メモリが 1GB しかない場合に制限されることです。すべての JVM オプションのリスト
ディスク IO - ボックス自体が起動時に 100% 近くの CPU で実行されていない場合 (シングル コアが 100% であると仮定すると、起動は通常シングル スレッドで行われます)、アプリケーションが実行しているディスク IO がボトルネックである可能性があります。 .
Windows パフォーマンス モニターなどのオペレーティング システム ツールを使用して、ディスク IO を確認します。IO を引き起こしているのはアプリケーションではなく、スワップ アクティビティ (ページ フォールト) である可能性があります。
解決策: アプリを修正する (可能性は低い) か、より高速なディスク/コンピューターを入手するか、ボックスの物理メモリを増やします
また、Java パフォーマンス チューニングのホワイトペーパーもご覧ください。さらに、ラムダ プローブを使用して、gcc 設定に満足しているかどうかを確認することをお勧めします。ラムダ プローブwww.lambdaprobe.org/d/index.htm
には、Tomcat の優れたリアルタイム gcc とメモリ トラッキングがあります。
私自身、Java パフォーマンス チューニング ホワイトペーパーの例 4.2.6 で Alfresco を実行しています。
4.2.6 チューニング例 6: 短い一時停止時間と高いスループットのためのチューニング
メモリ設定も、その論文で非常にうまく説明されています。
よろしくマハトマニッチ
Tomcat の読み込みが遅くなる最も一般的な 2 つの理由:
- 多くの Web アプリケーションがあります。Tomcat は、それぞれの Web コンテキストを作成するのに時間がかかります。
- Web アプリケーションの Web アプリケーション ディレクトリに多数のファイルがあります。Tomcat は、起動時に Web アプリケーション ディレクトリをスキャンします。