У меня возникают проблемы с производительностью на нашем производственном сервере.Hibernate + переменная производительности SQL Server
1) Основной запрос занимает обычно 0,5 секунды, но иногда он занимает 20 секунд (тогда клиент сходит с ума, потому что кажется, что он разбился). Запрос выполняется над представлением, и у него нет привязанного или ленивого объекта, только простые атрибуты. Запрос возвращает 100 разбитых страниц (более 65 000 записей)
Почему такая переменная? Как я могу улучшить запрос, поскольку запрос работает отлично в большинстве случаев?
2) Как правило, статистика Javamelody показывает, что сервер использует между 5 и 10 соединениями одновременно. Но иногда это достигает максимального (100), а затем сервер становится занятым и неустойчивым.
У нас между 1800 и 2000 сеансами работы над приложением.
Это мой конфиг:
сервер Tomcat: AWS EC2 Linux Instance t2.medium
MS SQL Server: AWS EC2 для Windows Instance c4.large (имеет SQL Server Express и Теперь мы переходим к SQL Web Server Edition, чтобы получить более мощный)
JDBC Пулы соединений Configuration [возможно, это проблема?]:
<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- статистика ..http: //www.sqlskills.com/blogs/paul/wait-statistics-or-please-tell-me-where-it-hurts/ – TheGameiswar