0

z/os DB2にアクセスするJava JDBCからこの動作が見られる理由を誰かが説明できますか

私は 3 つの列を持つ z/os db2 v10 テーブルを持っています。

テーブルには 100 万行あります。各行には、テスト目的で同じ xml ドキュメントがあります。

テーブルの 10,000 回のランダム読み取りを行うループを実行すると、読み取りごとに常に行が検出されます。jdbc トレース ファイルに表示される db2 サーバー時間は 2 ミリ秒から 62,000 ミリ秒の間で変化します。

このように応答時間が長くなる原因は何ですか?

また、私の jdbc トレースでコアとネットワークの時間がマイナスになっているのはなぜですか?


[jcc][SystemMonitor:start] 
[jcc][Time:2012-08-02-11:43:48.188][Thread:main][PreparedStatement@10b4b2f] executeQuery () called
[jcc][Time:2012-08-02-11:43:48.219][Thread:main][PreparedStatement@10b4b2f] executeQuery () returned com.ibm.db2.jcc.t4.j@812862
[jcc][SystemMonitor:stop] core: 22.185222ms | network: 21.831545ms | server: 2.956ms


[jcc][Time:2012-08-02-11:44:23.251][Thread:main][PreparedStatement@10b4b2f] executeQuery () called
[jcc][Time:2012-08-02-11:45:25.251][Thread:main][PreparedStatement@10b4b2f] executeQuery () returned com.ibm.db2.jcc.t4.j@68ef48
[jcc][SystemMonitor:stop] core: -3615.90705ms | network: -3616.401806ms | server: 61978.244ms

これは、Java/jdbc 環境の詳細です。


[jcc] Driver: IBM Data Server Driver for JDBC and SQLJ 4.12.79
[jcc] Compatible JRE versions: { 1.6 }
[jcc] Target server licensing restrictions: { z/OS: enabled; SQLDS: enabled; iSeries: enabled; DB2 for Unix/Windows: enabled; Cloudscape: enabled; Informix: enabled }
[jcc] Range checking enabled: true
[jcc] Bug check level: 0xff
[jcc] Default fetch size: 64
[jcc] Default isolation: 2
[jcc] Collect performance statistics: false
[jcc] No security manager detected.
[jcc] Access to package sun.io is permitted by security manager.
[jcc] JDBC 1 system property jdbc.drivers = null
[jcc] Java Runtime Environment version 1.6.0_21
[jcc] Java Runtime Environment vendor = Sun Microsystems Inc.
[jcc] Java vendor URL = http://java.sun.com/
[jcc] Java installation directory = C:\Program Files\Java\jre6
[jcc] Java Virtual Machine specification version = 1.0
[jcc] Java Virtual Machine specification vendor = Sun Microsystems Inc.
[jcc] Java Virtual Machine specification name = Java Virtual Machine Specification
[jcc] Java Virtual Machine implementation version = 17.0-b17
[jcc] Java Virtual Machine implementation vendor = Sun Microsystems Inc.
[jcc] Java Virtual Machine implementation name = Java HotSpot(TM) Client VM
[jcc] Java Runtime Environment specification version = 1.6
[jcc] Java Runtime Environment specification vendor = Sun Microsystems Inc.
[jcc] Java Runtime Environment specification name = Java Platform API Specification
[jcc] Java class format version number = 50.0
[jcc] Operating system name = Windows XP
[jcc] Operating system architecture = x86
[jcc] Operating system version = 5.1
[jcc] File separator ("/" on UNIX) = \
[jcc] Path separator (":" on UNIX) = ;
[jcc] Dumping all file properties: {  }
[jcc] pureQuery present = false

Database product name: DB2 Database product version: DSN10015 Driver name: IBM Data Server Driver for JDBC and SQLJ Driver version: 4.12.79

4

2 に答える 2

2

z/OS には、世界で最も洗練されたディスパッチャがあり、リソースの配布方法をあらゆる種類で制御できます。これは、ハードウェアが高価であり、企業がそれらの希少なリソースの行き先を制御したかった時代の遺物です。

例としては、パフォーマンス期間があります。これは、実行時間の短いプログラムに素晴らしい応答時間を与えながら、長いプロセスがリソースを占有するのを防ぐ方法です。ビジーなシステムでは、些細な作業はすぐに実行されますが、リソースを大量に使用するユーザーは遅くなります。これは、あなたが見ているものの一部である可能性があります。

それでも、非常に多くの変数があります...関連するすべてのコンポーネントを考えてみてください: クライアント プログラム、ネットワーク、LPAR ハイパーバイザー、z/OS TCP/IP スタック、DB2、そしてディスク ファームなどのすべての物理的なもの、これらのいずれも、応答時間に変動をもたらす可能性があります。

IBM や CA などの非常に洗練されたパフォーマンス監視製品があり、必要以上に詳細な情報が得られます。あなたの組織がこれらのツールのいずれかを持っている場合、訓練された目を持つ誰かが何が起こっているのかをあなたに伝えるのに少し時間がかかります.

于 2014-08-27T01:26:44.400 に答える