Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Oracle AQ性能调整_Java_Database_Oracle_Jms_Oracle Aq - Fatal编程技术网

Java Oracle AQ性能调整

Java Oracle AQ性能调整,java,database,oracle,jms,oracle-aq,Java,Database,Oracle,Jms,Oracle Aq,我正在使用oracle数据库[11.2],它带有高级队列(AQ)和java JMS API。 我当前的oracle设置是默认设置,没有其他调优参数。 高级体系结构: 数据库将消息排入持久队列(按优先级排序) Java JMS使用者正在使用3个并发线程对消息进行出列。 一切都很好!和快乐场景一样,只要消息在队列中@10K。 一旦队列中的消息加倍或三倍退出队列性能就会显著下降 我遵循以下链接 对IO和AQ的性能调整有什么建议吗 我看这是旧的,但我要试一试。事实上,它在队列中有少量(er)消息的情况

我正在使用oracle数据库[11.2],它带有高级队列(AQ)和java JMS API。 我当前的oracle设置是默认设置,没有其他调优参数。 高级体系结构:

数据库将消息排入持久队列(按优先级排序)

Java JMS使用者正在使用3个并发线程对消息进行出列。

一切都很好!和快乐场景一样,只要消息在队列中@10K。 一旦队列中的消息加倍或三倍退出队列性能就会显著下降

我遵循以下链接


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

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

从:

确保正在收集统计信息,以便优化查询 正在选择检索邮件的计划。默认情况下,队列 表格被锁定,无法自动收集统计数据。这个 建议使用代表性队列收集统计信息 消息加载并锁定它们

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

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