7.16.5 スループットを向上させるチューニング
スループットを向上させるためには,GCの発生回数を減らす必要があります。YoungGCやMixedGCは割り当てられたEden領域を使い切ると発生します。そこで,New領域を大きくすることでEden領域を大きくし,GCの発生回数を減らします。New領域を大きくするためには,-Xmxオプションまたは-XX:GCMaxPauseMillisオプションを用いてチューニングをします。
-
-Xmxオプション
指定する値を大きくすることで,Javaヒープ領域の最大サイズを大きくします。Javaヒープ領域の最大サイズが大きくなることで,New領域も大きくなります。
-
-XX:MaxGCPauseMillisオプション
指定する値を大きくすることで,目標停止時間が長くなります。YoungGCでは目標停止時間内に収まる範囲で,できるだけ大きくNew領域を取るため,目標停止時間を長くすることで,New領域も大きくなります。
スループットを向上させるチューニングをしてもスループットが向上しない場合は,New領域のサイズがリサイズされる範囲の最大サイズに達していることが考えられます。ログのEden領域+Survivor領域の値の変化からリサイズがされているか確認してください。ログの確認方法の詳細については,「7.15.8 YoungGC」を参照してください。なお,スループットを向上させるチューニングをするとレスポンスが低下する場合があるため,チューニング後は性能の再検証をする必要があります。