私はFlywayを使用して300にデプロイします。データベース。私がやったのはflywayコマンドを持つcmdファイルです - 300行のデータベースのそれぞれに1行ずつ。FlyWayがJVMメモリ設定を取得しない
このように:
flyway -configFile = -url = migrate。
cmdファイルにはこのような行が300あり、実行がシーケンシャルなときにはうまくいきます。明らかに時間がかかります。私はパラレルでそれを実行したい場合は
私はそうのようなコマンドの先頭に「スタート」を追加する必要があります:
開始-configFile = < confファイルパス> -url = < DBのURLをフライウェイ>マイグレーション
このアプローチで直面している問題は、約100台のDBでマイグレーションした後、Microsoft-Windows-Resource-Exhaustion-DetectorがLow Virtual Memory状態を検出したことです。今私はJVMのメモリを設定する方法を知っていて、さまざまなオプションを試してみましたが、何の違いもないと思います。私はFlyWayがJVM設定を完全に無視していると思う。
私は、Flywayが実行されているWindowsサーバー(6ビット)上に16GBの物理メモリを持っています。 並列実行が発生したとき - タスクマネージャーでチェックしたところ、使用量が3GBを超えていません。 JREのバージョンは64ビットです。 _Java_Optionsを設定しました。 JavaコントロールパネルでJVMメモリを設定しようとしましたが、何も動作しないようです。
ありがとうございます
FlyWayインストールには、\ jre \ lib \ amd64 \ jvm.cfgというファイルがあります。そのファイルで - 私は以下を追加しました:-Xms64m -Xmx64m -Xss8m -XX:-UseParallelGC。今、私は30スレッドをparalledで実行していると、実行の開始前に9 GBの空きメモリがあります。何が間違っているのですか? 20スレッドが成功する。残りの10の場合、私はこのエラーが発生します。VMの初期化中にエラーが発生しました オブジェクトヒープに十分なスペースを確保できませんでした。 – Mihir
ここからわかりません。多分あなたの並行レート制限は20です。 –