1

現在、Grails(2.1.0)アプリケーションをテストするために、すぐに使用できるH2ファイルに保存されたDBを使用しています。私は4つのドメインクラスを持っており、合計で約20のフィールドがあります。小さなアプリケーションです。

最近、14000レコード(H2ファイルDB)を渡すと、Grailsアプリケーションの動作が遅くなり始めたことに気付きました。CPU使用率がかなり高く、レコードの挿入が遅くなっているようです。注:データを挿入するスレッドは最大250個あります。上記の状況で、私は次の質問をしました。

  1. MySQLはH2よりもパフォーマンスが優れていますか?

  2. Grailsアプリをテストして、速度がH2インタラクションに起因することを明確に示す/証明するにはどうすればよいですか?私は自分の観察を単純に中継したくありません。

  3. GrailsプロジェクトでのH2の使用について誰かが詳しく説明できますか?H2を使用する際の「カットオフ」ポイントがどこにあるのか知りたいのですが、MySQLに移行するときが来ましたか?-多分私はH2を非常に多くのレコードで悪用しています。

ありがとうございました。

4

2 に答える 2

2

パフォーマンスの問題には多くの理由があります。MySQLには、大規模なデータベース(ギガバイトのデータ)と同時実行性(多くの同時接続)のためのより高度なメカニズムがあることは事実です。

しかし、そのような小さなデータベース(14000レコード?)の場合、問題はどこか別の場所にあると思います。データベースではなく、アプリケーションに関連している可能性が非常に高いです。私がすることは、問題が何であるかを分析することです。インデックスが欠落しているなどの可能性があります。

于 2012-11-24T08:21:17.483 に答える
0

「 Grailsアプリケーションのプロファイラー」に関する回答の一部は、変更を加える前にアプリケーションのパフォーマンスに関するデータを取得するのに役立つ場合があります。

于 2012-11-24T10:47:30.537 に答える