gpt4 book ai didi

java - Oracle AQ 性能调优

转载 作者:搜寻专家 更新时间:2023-10-30 20:19:07 24 4
gpt4 key购买 nike

我正在使用带有高级队列 (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。一旦队列中的消息加倍或加倍出队,性能就会显着下降!!!。

我点击了以下链接 http://docs.oracle.com/cd/B28359_01/server.111/b28420/perform.htm

对 IO 和 AQ 的性能调整有什么建议吗?

最佳答案

我看这是旧的,但我会试一试。事实上,它在队列中的消息数量较少(er)时运行良好,但在消息数量较大(r)时运行不佳,这让我相信问题可能出在底层队列表和 IOT 的优化器统计信息中。

来自11gR2 Oracle Advanced Queuing User's Guide :

Ensure that statistics are being gathered so that the optimal query plans for retrieving messages are being chosen. By default, queue tables are locked out from automatic gathering of statistics. The recommended use is to gather statistics with a representative queue message load and lock them.

还有其他几种可能性,包括调整(或不调整)AQ_TM_PROCESSES 和使用 ASSM,但如果没有更多关于您的数据库环境的信息,很难提出修复建议,甚至不知道这是否是问题所在.

关于java - Oracle AQ 性能调优,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15651602/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com