Веб-сервер и сервер базы данных находятся в совершенно разных местах

Веб-сервер и сервер базы данных находятся в совершенно разных местах

Каковы последствия для производительности, если веб-сервер (apache/php) и сервер базы данных (mysql) находятся в совершенно разных местах на разных хостах?

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

решение1

Это сильно зависит от скорости соединения между двумя локациями. Некоторые компании имеют высокоскоростные магистрали между своими центрами обработки данных, но судя по всему, вы смотрите на две разные компании. Поскольку соединение идет через Интернет и линии, находящиеся вне контроля любой из компаний, то на этот вопрос нет однозначного ответа.

Я бы избегал этого, если это вообще возможно. Если вы действительно считаете, что это лучший подход, рассмотрите что-то вроде memcache, чтобы облегчить запросы из БД.

решение2

Каковы последствия для производительности, если веб-сервер (apache/php) и сервер базы данных (mysql) находятся в совершенно разных местах на разных хостах?

Да, есть последствия для производительности, и все они негативные. Такая система могла бы работать, особенно если две системы связаны VPN с соглашением об уровне обслуживания, основанным как на времени безотказной работы, так и на производительности. Если вы просто проходите через «облако», у вас не будет согласованности производительности сети, и нетодно горло-на-душуесли связь или производительность ухудшаются.

просто интересно, имеет ли значение скорость сети по сравнению с типичной скоростью взаимодействия с базой данных.

Это будет полностью зависеть оттвойскорость сети итвойбаза данных и приложение.

Необходимо учитывать два аспекта производительности сети: задержку и пропускную способность. Вам нужно учитывать оба.

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

Или нет! Только тестирование покажет.

решение3

Какие типы запросов вы выполняете?

Если вы создаете сложные запросы, где скорость ЦП является ограничивающим фактором, возможно, подключение к базе данных на скорости менее 10 Мбит/с и высокая задержка не будут столь заметны (но это должны быть либо очень сложные запросы, либо очень слабая машина).

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

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

решение4

Каков средний размер данных, запрашиваемых с сервера базы данных, какова доступная пропускная способность между ними и насколько интенсивно идет трафик? Должно быть довольно легко выяснить, возникнет ли узкий участок, который может заблокировать все.

Связанный контент