- - PR -
insert、update文実行の遅れについて
1
投稿者 | 投稿内容 | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-04-14 19:32
現在、javaプログラムからinsert、update文を発行し、jdbc経由でテーブルを更新する処理を作成しています。
しかし、開発環境とテスト環境の間で、更新時間のパフォーマンスに差異がでて困っています。 ============================================================= 開発環境 :AP Tomcat 5.0.28 DB Oracle 9i 9.2.0.6.0 テスト環境:AP Tomcat 5.0.28 DB Oracle 9i 9.2.0.6.0 ============================================================= まず、insert、update文をsql plus等を使用して実行したところ、開発環境・テスト環境共に、パフォーマンスはよかったです。(どちらも1秒以内位) 次に、開発環境でjavaからinsert、update文を呼んだところ、1〜2秒くらいでした。 最後に、テスト環境でjavaからinsert、update文を呼んだところ、10秒くらいでした。 この結果から、開発環境とテスト環境で環境に差異があると思い調べています。 JDBC Thin Driverの違いに問題があるのではないかと思うのですが、調べ方がわかりません。 (下記の2つの方法を試しましたが、同じojdbc14.jarに対して、違う結果が返ってきました。)
正しいJDB Thin Driverのバージョンの調べ方と、insert、update文が遅くなる原因について心当たりのある方はご教授願います。 [ メッセージ編集済み 編集者: ノヴァ 編集日時 2006-04-14 19:53 ] | ||||||||||||||||||||||||
|
投稿日時: 2006-04-14 22:32
1)開発環境/テスト環境ともにハードウェアは全く同じなのでしょうか?
2)AP/DB は同一サーバ内にあるのでしょうか?それとも AP/DB毎にサーバが 1台ずつの開発環境/テスト環境あわせて4台の構成なのでしょうか? 3)Tomcat/Oracle/OSの設定は開発環境/テスト環境全て一緒なのでしょうか? 4) 1秒/10秒の差が発生するのは毎回でしょうか? 5)開発環境/テスト環境の DB のデータ量は同一なのでしょうか? ざっと、疑問におもった項目を述べてみました。 | ||||||||||||||||||||||||
|
投稿日時: 2006-04-16 13:08
せんさんのご質問にお答えします。
はい。同じです。
すべて分けてあるので、計4台の構成です。
ここが一番大きな問題かもしれませんが、全て一緒であるかどうか全ては確認しておりません。(テスト環境は、APサーバ、DBサーバでそれぞれ管理者がいて、それぞれが設定をしているため、細かなところは異なっていると思われます。) たとえば、javaのヒープ領域の設定をテスト環境では行っていて、開発環境では行っていない。などが挙げられますね。
はい。毎回です。
スキーマが所有するオブジェクトのデータ量は同じにしております。 テスト環境のデータベースには、他のシステムのスキーマも存在する可能性がありますので、データベースサーバー全体のデータ量となると異なっている可能性もあります。 以上、宜しくお願いします。 | ||||||||||||||||||||||||
|
投稿日時: 2006-04-16 14:27
ならば、ネットワーク構成で、開発環境/テスト環境に違いはありませんか?
なら、まずはそこを確認すべきではありませんか?それらを全て確認しない以上、部外者たる我々には状況はわかりません。 というか管理者がいるのなら、まず管理者全員でこの問題を共有して原因を探るべきです、掲示版に質問するまえに。
ってことは、テスト環境は他のシステムと共有しているというわけですね。 テスト環境が遅いのは単純に負荷によるものではないのですか? | ||||||||||||||||||||||||
|
投稿日時: 2006-04-16 23:18
せんさん、お返事ありがとうございます。
違いがあるかどうか、調べてみます。
確かにおっしゃるとおりです。 ただ現実問題として納品までの時間がなかったため、土日で少しでも情報を得られればと思い、掲示板にのせました。 また、AP管理者・DB管理者ともにこの問題について情報共有はしております。
今回の件は、テスト環境DBに対してinsert文を発行した時に、javaから実行すると処理が遅いというものです。sqlplusで実行した時は問題ない処理速度だったため、DBサーバの負荷には問題がないものと考えております。 上記の現象でもDBサーバの問題ということもあるのですか? | ||||||||||||||||||||||||
|
投稿日時: 2006-04-17 00:22
無いものと考えるじゃなくて、実際ない事を確認しないと話は始まりません。 ついでにいいますが、sqlplus はリモートである開発/テスト両サーバからそれぞれの DB サーバに接続して実行したのですよね? ローカルから実行しての結果であれば、今回の構成では前提として全く成り立ちませんよ。 |
1