Weblogic JMS佇列阻塞問題處理
Weblogic有兩個jms queue,producer是OSB,透過介面管道向jms queue傳輸日誌。consumer是一個Oracle DB 。
剛開始沒有問題,待到OSB的併發量達到一天15W時,發現jms queue堵塞嚴重,weblogic記憶體消耗巨大。資料庫IO和CPU高
透過top activity和10046發現consumer對應的表中查詢列(行數過億)未作索引
建立索引後所有問題解決
top activity - session - dbms_system.set_ev做10046
透過trace發現大量db file scattered read ,說明有大量全表掃描
根據top activity 對應的SQL發現問題所在
剛開始沒有問題,待到OSB的併發量達到一天15W時,發現jms queue堵塞嚴重,weblogic記憶體消耗巨大。資料庫IO和CPU高
透過top activity和10046發現consumer對應的表中查詢列(行數過億)未作索引
建立索引後所有問題解決
top activity - session - dbms_system.set_ev做10046
透過trace發現大量db file scattered read ,說明有大量全表掃描
根據top activity 對應的SQL發現問題所在
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29135257/viewspace-2151405/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 處理線上RabbitMQ佇列阻塞MQ佇列
- 佇列、阻塞佇列佇列
- 阻塞佇列一——java中的阻塞佇列佇列Java
- 【Weblogic】java.lang.UnsupportedClassVersionError問題處理方案WebJavaError
- 阻塞佇列 BlockingQueue佇列BloC
- 阻塞佇列--LinkedBlockingQueue佇列BloC
- 死磕阻塞佇列佇列
- 訊息佇列之JMS和AMQP對比佇列MQ
- 延遲阻塞佇列 DelayQueue佇列
- 阻塞佇列BlockingQueue(三)--DelayQueue佇列BloC
- Java中的阻塞佇列Java佇列
- 阻塞佇列——四組API佇列API
- 阻塞佇列 SynchronousQueue 原始碼解析佇列原始碼
- 阻塞佇列 LinkedTransferQueue 原始碼解析佇列原始碼
- 阻塞佇列 DelayQueue 原始碼解析佇列原始碼
- 阻塞佇列 PriorityBlockingQueue 原始碼解析佇列BloC原始碼
- 聊聊併發(四)——阻塞佇列佇列
- 常見佇列等待事件處理思路佇列事件
- 阻塞佇列 BlockingQueue(二)--ArrayBlockingQueue與LinkedBlockingQueue佇列BloC
- Java併發系列 — 阻塞佇列(BlockingQueue)Java佇列BloC
- Java併發——阻塞佇列集(上)Java佇列
- Java併發——阻塞佇列集(下)Java佇列
- 什麼是阻塞佇列?如何使用阻塞佇列來實現生產者-消費者模型?佇列模型
- 關於PHP佇列的問題PHP佇列
- Java併發程式設計:阻塞佇列Java程式設計佇列
- Android併發學習之阻塞佇列Android佇列
- JAVA併發之阻塞佇列淺析Java佇列
- JAVA中常見的阻塞佇列詳解Java佇列
- Java併發程式設計——阻塞佇列Java程式設計佇列
- php訂單延時處理-延時佇列PHP佇列
- disruptor佇列SleepingWaitStrategy與YieldingWaitStrategy處理的區別佇列AI
- 故障處理】佇列等待之enq: US - contention案例佇列ENQ
- 【故障處理】佇列等待之enq: US - contention案例佇列ENQ
- Netty之非阻塞處理Netty
- 『併發包入坑指北』之阻塞佇列佇列
- 迴歸Java基礎:LinkedBlockingQueue阻塞佇列解析JavaBloC佇列
- 執行緒池的阻塞佇列的理解執行緒佇列
- Java併發6:阻塞佇列,Fork/Join框架Java佇列框架
- JDK中有直接可以使用的阻塞佇列JDK佇列