Назад | Перейти на главную страницу

Как лучше всего ускорить получение данных с удаленного сервера базы данных MySQL?

Сценарий

  1. Два сервера: ApplicationServer1 и MySQLServer1
  2. Сервер удаленной базы данных MySQL подключен к ApplicationServer1 через туннель SSH (поддерживается с помощью autossh)

Эта проблема

Поскольку я отделил базу данных от приложения, последнее сильно тормозило. SSH-туннель используется в стеке серверов для повышения безопасности. Альтернативой является настройка VPN (например, Tinc), но она, похоже, замедляет гораздо больше, чем туннель SSH.

Так...

Как я могу ускорить соединение между ApplicationServer1 и MySQLServer1?

Может ли Redis или Memcached, установленный на ApplicationServer1, быть решением?

Спасибо вам всем.

Как я могу ускорить соединение между ApplicationServer1 и MySQLServer1?

Сохраняя их в одной высокоскоростной сети.

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

Может ли Redis или Memcached, установленный на ApplicationServer1, быть решением?

Конечно, но любое из этих решений потребует обширной перезаписи вашего приложения и действительно поможет только с операциями только для чтения. Операции записи по-прежнему будут такими же медленными, как и вы сейчас.

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