5
我在我的MySQL數據庫(Amazon RDS實例)上遇到越來越多的「死鎖」和「鎖定超時」問題。直到幾天前,數據庫運行良好。服務器代碼(執行查詢)沒有更改超過一週。我知道什麼是例外情況,但對於調試和查找導致問題的特定查詢/語句的最佳方式,我不知所措。在Amazon RDS上調試MySQL死鎖
信息上設置:
- 的MySQL亞馬遜RDS實例(小)
- 一切默認RDS資料/除字符編碼,這是改爲UTF-8
- 服務器使得MySQL的設置查詢是與Hibernate的Tomcat Java服務器
- 上的異常信息從Tomcat服務器日誌閱讀之間50
- 查詢/最小值 - 5000
我最好的猜測是在設置(Hibernate或MySQL)中存在導致此問題的東西。服務器將運行良好,然後延遲會通過屋頂引起各種負面行爲。發生這種情況時,該實例的CPU利用率將接近100%。
的休眠設置爲:
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass"><value>com.mysql.jdbc.Driver</value></property>
<property name="jdbcUrl"><value>XXXX</value></property>
<property name="user"><value>XXXX</value></property>
<property name="password"><value>XXXX</value></property>
<property name="initialPoolSize"><value>3</value></property>
<property name="minPoolSize"><value>3</value></property>
<property name="maxPoolSize"><value>50</value></property>
<property name="idleConnectionTestPeriod"><value>200</value></property>
<property name="acquireIncrement"><value>1</value></property>
<property name="maxStatements"><value>0</value></property>
<property name="numHelperThreads"><value>6</value></property>
</bean>
任何想法從哪裏開始,如果事情的設置可能會造成這個問題的調試,將不勝感激。
難道ü設法找到一些答案? – gnuyoga
命令SHOW ENGINE INNODB STATUS的輸出是什麼? – 90hex