2013-03-27 73 views
2

我使用Oracle數據庫[11.2]與高級排隊(AQ)瓦特/ JAVA JMS API。 我當前的Oracle設置爲默認設置,無需額外的調整參數。 高層體系結構:甲骨文AQ性能調整

數據庫排隊消息到持久性隊列(按優先級排序)

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'); 

爪哇JMS消費者是用3個併發線程出隊的消息。

一切的偉大工程!和快樂的場景,只要隊列中的消息@ 10K。 只要排隊消息雙打或三元組出列表現明顯下降!!!

我跟着以下鏈接 http://docs.oracle.com/cd/B28359_01/server.111/b28420/perform.htm

對IO和AQ性能調整有什麼建議?

回答

3

我認爲這是舊的,但我給它一個鏡頭。它與隊列中的消息的小(ER)數量,但與不良消息的大(R)號運行良好,這一事實使我相信這個問題可能是在底層隊列表和IOT中優化統計。

11gR2 Oracle Advanced Queuing User's Guide

確保統計數據正在收集使被選擇最優查詢 計劃檢索消息。默認情況下,隊列 表被鎖定在自動統計收集之外。該 推薦使用是有代表性的隊列 消息負荷收集統計信息並將其鎖定。

還有其他幾種可能性,其中包括調整(或不調整)AQ_TM_PROCESSES和使用ASSM,但沒有更多關於你的數據庫環境中,這是很難修復建議,甚至不知道是否這就是問題所在。