2009-07-13 9 views
0

私はwebflowを持つgrailsアプリケーションを持っています。私は収束スコープに関心のある内側の流れオブジェクトを保存します。いくつかの流れに入り、放置した後、私はDB(MySql)に接続された単一のユーザがMySql Server上で解放されていないスレッドをたくさん生成することを知っています。 mysqlのprocesslistはスリープモードのスレッドを表示し、クライアントのnetstatはmysqlサーバとの接続を確立してくれます。 接続がアクティブであり、解放されていないと仮定します。しかし、それはなぜですか? grailsは、フローに入ったり出たりするときに、正確に何をしますか?非常に多くの接続が開かれ、閉じられないのはなぜですか?Grails MySql processList

ご協力いただければ幸いです。

に関して、

答えて

0

Grailsの順番に接続プーリングを使用して休止状態を、使用 masiar。これらはアイドル状態の接続で、トラフィックを待機しています。これは実際には望ましい動作ですhttps://www.hibernate.org/214.html

;:

あなたは、Hibernateの接続プールについての詳細を学ぶことができます新しい接続を開くには無視できないほどの時間がかかります。これは、開いているクエリをクエリに送信するよりもはるかに時間がかかります。

"時期尚早な最適化はすべての悪の根源です" - データベースに関するパフォーマンス上の問題が見られる場合を除き、私はこれを残しておきます。

0

いつでもあなたやあなたの仲間が飛び込み、あなたが望むどこにでも行くエンジンがオンになっている、安定した準備が整ったプールのような休止状態プールを考えてみてください。タクシーを待つ必要はなく、運転する前に自分の車を始動する必要はありません。すべてここでうまくいきます。

会話は必要な限り長く続きます。しばしばあなたはワークフローを練習し、終了すると、あなたはあなたの古い、そしてまだ生きている会話に戻ります。そんなことを意味しています...すべてここでも良いです

関連する問題