Проблемы со входом в 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 ответ
Возможно, вы не закрываете ресурсы и исчерпываете все доступные.