Java JMS API を使用した高度なキューイング (AQ) で Oracle データベース [11.2] を使用しています。私の現在のOracleセットアップはデフォルト設定であり、追加のチューニングパラメーターはありません。高レベルのアーキテクチャ:
永続キューへのデータベース エンキュー メッセージ (優先順位でソート)
EXEC DBMS_AQADM.CREATE_QUEUE_TABLE (queue_table => 'order_queue_table', queue_payload_type => 'aqadm.order_message_t', sort_list=>'PRIORITY,ENQ_TIME');
EXEC DBMS_AQADM.CREATE_QUEUE (queue_name => 'order_queue', queue_table => 'order_queue_table');
EXEC DBMS_AQADM.START_QUEUE (queue_name => 'order_queue');
Java JMS コンシューマは、3 つの同時スレッドを持つデキュー メッセージです。
すべてがうまくいきます!メッセージがキュー @10K にある限り、シナリオは良好です。キュー内のメッセージが2 倍または 3 倍になるとすぐに、パフォーマンスが大幅に低下します!!!.
次のリンクをたどりました http://docs.oracle.com/cd/B28359_01/server.111/b28420/perform.htm
IO と AQ のパフォーマンス チューニングに関する提案はありますか?