我在生产服务器上遇到了一些性能问题。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