Факторы производительности в удаленном доступе к базе данных

У меня есть приложение Java, которое обращается к базе данных. Я проверил его на своей локальной машине с локальной базой данных, и он работает просто отлично. Но когда я тестирую его в нашей тестовой среде, где сервер приложений и сервер базы данных различаются, производительность очень низкая. Возможные причины, по которым я могу думать:

  • Время, чтобы получить соединение с базой данных
  • Общий сетевой трафик
  • Количество данных, которые выбираются и передаются
  • Загрузка на сервер базы данных (другие приложения, обращающиеся к базе данных).
  • Конфигурация сервера (например, выделенная память, размер пула соединений и т. Д.)

Какие еще причины могут повлиять на производительность?

Я использую JDBC с MySQL. Любая помощь приветствуется.

1 ответ

Решение

Наиболее вероятными кандидатами являются сетевая задержка и нагрузка. Используется ли сервер базы данных какими-либо другими приложениями? Какова задержка сервера базы данных и какая пропускная способность доступна?

Я бы начал расследование с некоторого профилирования запросов на сервере БД. Вы можете легко сравнить время запроса в рабочей БД с вашим локальным, чтобы определить, является ли сам сервер фактором. Если нет, перейдите к профилированию сети.

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