Changes between Version 2 and Version 3 of css/memorytunig
- Timestamp:
- 07/01/14 19:36:32 (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
css/memorytunig
v2 v3 45 45 46 46 まずXmxパラメータでヒープの最大サイズを初期設定の1GB、4GB、6GB、8GBと増やした。(図1)[[BR]] 47 ヒープサイズを増やせば処理可能な日数が増え、処理時間もデータ量(日数)に比例する (Xmx近似の点線)。[[BR]]47 ヒープサイズを増やせば処理可能な日数が増え、処理時間もデータ量(日数)に比例する。(Xmx近似の点線)[[BR]] 48 48 ヒープサイズはデータの読み込みが進むにつれ次第に最大サイズ近くまで拡張されていった。 49 49 … … 53 53 OSがメモリを割り当てることはないので、PCのメモリを無駄に占有するわけではない。 54 54 55 ヒープサイズを固定した場合にXmx近似より処理時間が短く完了する比例関係部分がある (Xms近似の点線)。[[BR]]55 ヒープサイズを固定した場合にXmx近似より処理時間が短く完了する比例関係部分がある。(Xms近似の点線)[[BR]] 56 56 データ量がヒープのOld領域の不足が起こらないで済む場合はXms近似で処理が完了するが、 57 57 !Old領域が不足してFull GCが起こり始めるとXmx近似になっていく。 … … 87 87 88 88 Xms4Gとしてヒープサイズを4GBに固定して、NewRatio指定なし、!NewRatio=2、8、10、12、14、16、20と変化させた。(図6)[[BR]] 89 !NewRatio指定なしとNewRatio=2の結果は同じであることが確認できた (64bit Javaを使用)。[[BR]]89 !NewRatio指定なしとNewRatio=2の結果は同じであることが確認できた。(64bit Javaを使用)[[BR]] 90 90 NewRatioを増やすにつれてXms近似の範囲で処理完了する日数が増えていくが、 91 91 次第に改善幅が小さくなっていき、16と20では同じ結果になった。[[BR]] … … 132 132 Old領域の割合を大きくすることで同じヒープサイズでもパフォーマンスを改善することができる。 133 133 134 == 追加情報 == 135 136 今回このベンチマークテストを行っているときに、処理完了までに掛かる時間のうち 137 そのほとんどがネットワーク経由でのデータ転送に掛かっていることが分かった。 138 139 ベンチマークで使用したPCは100MbpsのHUBに繋がっていたが、 140 データ転送中は100Mbpsのうち98%近い帯域を使用しており、 141 ネットワークの速度がボトルネックになっていることが明らかだった。 142 143 そこでHUBを1Gbps(GbE)のものに交換してXms8G NR16時のベンチマークを行ってみたところ、 144 処理完了までの時間はほぼ半分になった。(図13) 145 146 [[Image(GbE_fig13.png, 40%)]] 147 148 処理完了までの時間を次の3つに分けて詳しく測定した。 149 * プロットファイルを開いてからデータ転送が始まるまでの時間。(データベース側でのクエリ処理の時間と考えられる。) 150 * データ転送に掛かる時間。 151 * データ転送が終了してグラフ描画が終了するまでの時間。 152 153 38日分ではFull GCが発生しているためグラフ描画時間がかかっているが、 154 それを除けば3つとも日数に比例した時間がかかっている。(図14) 155 156 [[Image(GbE_fig14.png, 40%)]] 157 158 36日分の処理時間の内訳を100Mbpsと1Gbpsを比較すると、クエリ処理とグラフ描画の時間に差はなく、 159 データ転送にかかる時間が233秒から85秒へと148秒短縮された。(約2.7倍高速化)(図15-1,15-2) 160 161 [[Image(GbE_fig15-1.png, 40%)]] 162 [[Image(GbE_fig15-2.png, 40%)]] 163 164 この時ネットワーク帯域のうち25%~30%を使用していた。[[BR]] 165 このボトルネックがPC、データベース、ネットワークのどこにあるのかまでは検証していない。