0

これは私の最初の質問です。十分に説明されているので、答えが見つかることを願っています。

私は、Oracle9i サーバーにすべてのデータがある配送会社の Web サイト プロジェクトで働いています。Web ユーザーのほとんどは、パッケージがいつ届くかを知りたいだけですが、その情報を 1 日に数回照会してシステムを更新するロボットもいると思います。これらのロボットを停止するコードに取り組んでいます (たとえば、15 分で 3 回目のクエリの後にキャプチャを要求するなど)。

さて、私の問題は、12.00-14.00 のピーク時にデータベースの応答が非常に遅くなることです。これは、Web アプリケーションから解析したデータの一部です。このレベルの Web サービスのログはありませんが、そこには多くのクエリもありました。

ここに画像の説明を入力

データソースからの接続を要求したときのタイムスタンプ、Integer.toHexString(connection.hashCode())、データソースの名前、接続を閉じたときのタイムスタンプ、および両方のタイムスタンプの差が表示されます。ほとんどの場合、クエリは 1 秒以内に終了しますが、昨日はこの奇妙な遅延が 2 分以上ありました。

データベースで許可されている接続の最大数があるので、その制限を超えると、データベースはクエリをキューに入れ、再試行しますか?

前もって感謝します。

4

2 に答える 2

0

vape編集ありがとうございます。

私はまた、本当の問題を発見しました。同期されたデータソースへの接続を要求するメソッドがあり、ピーク時に接続を要求しているときにロックが発生しました。私はそれを削除しましたが、すべて正常に動作しています。

于 2013-12-31T10:35:22.517 に答える