Факторы производительности в удаленном доступе к базе данных
У меня есть приложение Java, которое обращается к базе данных. Я проверил его на своей локальной машине с локальной базой данных, и он работает просто отлично. Но когда я тестирую его в нашей тестовой среде, где сервер приложений и сервер базы данных различаются, производительность очень низкая. Возможные причины, по которым я могу думать:
- Время, чтобы получить соединение с базой данных
- Общий сетевой трафик
- Количество данных, которые выбираются и передаются
- Загрузка на сервер базы данных (другие приложения, обращающиеся к базе данных).
- Конфигурация сервера (например, выделенная память, размер пула соединений и т. Д.)
Какие еще причины могут повлиять на производительность?
Я использую JDBC с MySQL. Любая помощь приветствуется.
1 ответ
Наиболее вероятными кандидатами являются сетевая задержка и нагрузка. Используется ли сервер базы данных какими-либо другими приложениями? Какова задержка сервера базы данных и какая пропускная способность доступна?
Я бы начал расследование с некоторого профилирования запросов на сервере БД. Вы можете легко сравнить время запроса в рабочей БД с вашим локальным, чтобы определить, является ли сам сервер фактором. Если нет, перейдите к профилированию сети.