Friday 15 June 2012

java - Oracle AQ performance tuning -


I am using Advanced Queuing (AQ) Oracle database with Y / Java Jems API [11.2]. My current Oracle setup default settings, no additional tuning parameters, high level architecture:

The continuous line database enqueue messages (sorted by priority)

  EXEC DBMS_AQADM.CREATE_QUEUE_TABLE (Queue_table = & gt; 'order_queue_table', queue_payload_type = & gt; 'aqadm.order_message_t', sort_list = & gt; 'anterior, ENQ_TIME'); EXEC DBMS_AQADM.CREATE_QUEUE (queue_name = & gt; 'order_que', qi_table = & gt; order_quo_table '); EXEC DBMS_AQADM.START_QUEUE (queue_name = & gt; 'order_Q');   

Java JMS consumer has dequeue messages with 3 concurrent threads.

Everything works great! And happy scenario, unless Qi @ messages in the queue as messages 10 messages Couple or triples dequeue Performance is significantly below !! !

I followed the following link

Any suggestions on performance tuning on IO and AQ?

I think this is old, but I give it a shot, the fact is that in the queue Send runs a small (er) as well as the number, but may be in big bad with the number of messages issue that helps me to believe that the underlying queue tables and optimizer data for the IOT. / P>

From:

Make sure the statistics are being gathered so that optimal query plans are being selected to retrieve the messages. By default, the queue tables are closed from the automatic collection of statistics. Recommended Usage Gather statistics and lock them with a delegated Q message load.

Tuning (or tuning) AQ_TM_PROCESSES are many other possibilities, including and using Assm, but more fixes, without about your database environment It is difficult to suggest, or even know that this is a problem.

No comments:

Post a Comment