Обычный дизайн веб-сайта, поддерживаемого базой данных, использует несколько (или намного больше, например, 50 или 100) запросов к базе данных для создания одной веб-страницы в ответ на запрос браузера.
Каждый из этих запросов, один за другим, требует времени прохождения туда и обратно между веб-сервером и сервером базы данных. Это может быстро добавить.
Напротив, соединение между веб-браузером и веб-сайтом устанавливается после двукратного кругового пути между браузером и сервером, а затем данные в значительной степени передаются в браузер так быстро, как позволяет соединение.
Увидеть разницу? 2 обращения пользователя к серверу и обратно против нескольких (вероятно, десятков) обращений сервер-сервер. Соединение между серверами может быть быстрее, но не намного.
Вот почему ваша установка вообще бессмысленна.
Что же тогда можно сделать?
- Используйте один веб-сервер рядом с базой данных. Времена, когда географически распределенные серверы были важны для улучшения взаимодействия с пользователем, давно прошли для чего-то меньшего, чем глобальная электронная коммерция или новостной центр.
На сегодняшний день взаимодействие с пользователем определяется в первую очередь свойствами подключения пользователя и почти не зависит от местоположения веб-сервера.
Да, бывают случаи, когда основное глобальное магистральное соединение не работает, и соединения между, например. Китай и Европа становятся настоящей проблемой, но если произойдет такое неприятное событие, соединение между вашим веб-сервером и вашим сервером базы данных будет в равной степени затронуто. И это на самом деле хуже, чем замедление соединения между вашим веб-сервером и вашими пользователями, см. выше.
Существуют уловки CDN, которые могут улучшить время отклика даже с одним сервером, создавая впечатление, что у вас несколько серверов в разных местах. У крупных провайдеров CDN, таких как Cloudflare или Akamai, есть действительно мощные инструменты.
Используйте репликацию базы данных и поддерживайте базу данных рядом с обоими веб-серверами. Это может потребовать глубокого переосмысления дизайна приложения, а также гораздо более широкого набора навыков и/или более дорогих лицензий на БД.
Проверьте свойства подключения к базе данных на обоих концах (сервер базы данных и веб-сервер).
- Обширное ведение журнала, сложная аутентификация и обратный DNS на стороне сервера БД могут в значительной степени отставать от результатов каждого запроса к БД.
- Использование постоянных подключений к базе данных на стороне веб-сервера может сократить количество запросов к базе данных в 2-5 раз.
- Измените дизайн своего приложения, чтобы использовать меньше запросов к базе данных на странице. Это, с другой стороны, может привести к тому, что запросы станут более сложными, медленными и трудными в обслуживании. Ваш пробег может отличаться.