我在生產服務器上遇到了一些性能問題。Hibernate + SQL Server性能變量
1)主查詢通常需要0.5秒,但有時需要20秒(然後客戶端發瘋,因爲它似乎崩潰了)。查詢在視圖上,它沒有附加任何渴望或懶惰的對象,只有普通的屬性。查詢返回100個分頁記錄(超過65,000條記錄)
爲什麼這麼可變?我該如何改進查詢,因爲大部分時間查詢都正常工作?
2)通常,Javamelody stats顯示服務器同時使用5到10個連接。但有時這會達到最大值(100),然後服務器變得忙碌而不穩定。
我們正在從事應用程序的1800至2000年會議。
這是我的配置:
Tomcat服務器: AWS的Linux EC2實例t2.medium
MS SQL服務器: AWS的Windows EC2實例c4.large(它有一個SQL Server Express和現在我們正在向一個SQL Server的網絡版,以獲得更強大的)
JDBC連接池配置[也許這是什麼問題?]:
<bean class="org.apache.commons.dbcp2.BasicDataSource" id="dataSource">
<property name="url" value="jdbc:sqlserver://url..."/>
<property name="username" value="username..."/>
<property name="password" value="password..."/>
<property name="initialSize" value="10"/>
<property name="maxTotal" value="100"/>
<property name="maxIdle" value="50"/>
<property name="minIdle" value="10"/>
</bean>
我應該更改連接池配置嗎?我怎樣才能改善這些泄漏?
謝謝你,對不起我的英文。
連續收集等待狀態持續一天,然後你就可以做一些分析 – TheGameiswar
檢查這個鏈接:http://www.sqlsentry.com/white-papers/troubleshooting-sql-server-wait- stats ..http://www.sqlskills.com/blogs/paul/wait-statistics-or-please-tell-me-where-it-hurts/ – TheGameiswar