- - PR -
Java実装時のレスポンス悪化について
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2003-12-12 20:00
Bind部分は徹底的にチェックしたつもりではいるんですが・・・ 確かに、おっしゃるような確認はしていません。 これから試してみます。 これで動けば、Bind部分に問題がありそうですね。 どうもありがとうございます。 | ||||
|
投稿日時: 2003-12-12 21:48
まったく関係ないかもしれませんが、
サーバー側の空きメモリは十分あるでしょうか? 私の経験では空きメモリが100M程度では300M時に 比べて20倍もの応答時間になりました。 ログを見るとサーバーでの処理時間に大きな差は 無いのに応答時間が極端に長くなっていました。 以上、参考になれば。 | ||||
|
投稿日時: 2003-12-12 22:55
はじめまして
>Javaで実行しているSQL文を抜き出してSQLPlusで実行した場合は、 >1秒以内でレスポンスが帰ってくるのに、 >Javaアプリ内部で実行した場合は、 >executeQueryメソッド発行後、ノーレスになってしまいます。 SQLPLusで実行とJava内で実行は同時にやっていますか? なにをいいたいかと言うと、DBサーバ側の要因かどうか の切り分けをおこなうためです。 過去の事例だと、データーベースリンク(?)とかが 問題になることがありました。 つぎに、実行環境(リソース漏れとかはこれですね) の問題を疑いましょう。 最後にJDBCの動作の問題を検証するために、 IDE等でデバッグ環境を整えてじっくり 検証すべきだとおもいます。 | ||||
|
投稿日時: 2003-12-12 23:33
SQL*Plus からの起動では問題がないということと、銀太郎さんの書き込みを見て、Java を実行する時のヒープが極端に不足しているのではないかという問題が気になりました。
50 件程度のデータとは言え、その ResultSet を保持するメモリが不足してスワップが発生して速度が落ちるという問題は良く耳にします。 初期ヒープや最大ヒープのサイズを変更してみるとどうなるでしょうか。 母体テーブルが大きいので、DBMS 内部が良い性能を出せる状態になっているのかということも、Oracle Master 保持者としてはやはり気になりますが | ||||
