【发布时间】:2013-03-17 02:32:58
【问题描述】:
我正在使用带有高级队列 (AQ) 和 java JMS API 的 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。 一旦队列中的消息加倍或三倍dequeue,性能就会显着下降!!!。
我关注了以下链接 http://docs.oracle.com/cd/B28359_01/server.111/b28420/perform.htm
对 IO 和 AQ 的性能调整有什么建议吗?
【问题讨论】:
标签: java database oracle jms oracle-aq