我正在使用带有 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。一旦队列中的消息增加一倍或三倍,出队性能就会显着下降!!!。
我按照以下链接 http://docs.oracle.com/cd/B28359_01/server.111/b28420/perform.htm
关于 IO 和 AQ 的性能调整有什么建议吗?