Проблемы со входом в SQL Server 2012 (64-разрядная версия)

Я программирую агентное моделирование на основе JADE Framework. По сути, эта структура создает агентов (каждый агент имеет собственный поток) и предоставляет стандартизированные интерфейсы для связи между агентами.

Тем не менее, когда мои агенты создаются, они одновременно получают доступ к серверу MS-SQL 2012 (64-битный) (установленному на том же компьютере). Это очень простое утверждение, которое возвращает идентификатор:

"SELECT GeoID FROM "
                + "[weatherman_de].[dbo].[geo]" + " WHERE lat_rot = "
                + loc.getLatit() + " AND long_rot = " + loc.getLongit();

Проблема: иногда, когда я запускаю свое приложение, все работает нормально, медленно, но работает нормально. Но иногда я получаю различные типы ошибок, которые приводят к падению моего приложения в самом начале. Либо это сброс соединения:

com.microsoft.sqlserver.jdbc.SQLServerException: Connection reset
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:1352)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:1339)
    at com.microsoft.sqlserver.jdbc.TDSChannel.read(IOBuffer.java:1654)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.Prelogin(SQLServerConnection.java:1117)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1038)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:817)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:700)
    at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:842)

или это соединение отказано:

com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP 
connection to the host localhost, port 1433 has failed. Error: 
"Connection refused: connect. Verify the connection properties. 
Make sure that an instance of SQL Server is running on the host 
and accepting TCP/IP connections at the port. Make sure that TCP 
connections to the port are not blocked by a firewall.

Как уже упоминалось, эти сообщения об ошибках не появляются каждый раз, когда я запускаю приложение. Я бы сказал, в 7 из 10 раз я получаю сообщения об ошибках (те же условия)

Когда мое приложение работает нормально, я проверил значения производительности:

  • Процесс NT Server использует 2,5 ГБ оперативной памяти и 50% ЦП.
  • База данных имеет размер около 1 ГБ и сохраняется на твердотельном накопителе Crucial M550.
  • JAVA (затмение) занимает 2 ГБ ОЗУ (около 2500 потоков), а также
    50% использования процессора. Процессор Intel 2500k (4 ядра)

Мое приложение является детерминированным, поэтому они не являются случайными функциями или чем-то в этом роде, которые могут влиять на производительность из-за каких-либо переходов IF или чего-то еще. Вывод (или должен быть) (когда он работает) всегда одинаков.

Так есть ли какие-нибудь подсказки, где я могу начать стабилизировать свою базу данных? Я думаю об обновлении своего компьютера, но это последний вариант.

1 ответ

Возможно, вы не закрываете ресурсы и исчерпываете все доступные.

Другие вопросы по тегам