@Diversia

Какой мощности должен быть сервер для проксирования?

На сервере необходимо сменить IP-адрес так, чтобы сайт не отключался на время обновления DNS. Полагаю, что лучше всего подойдет проксирование на Nginx. Прошу подсказать, с какими характеристиками должен быть сервер для проксирования. Сейчас сайт с высокой посещаемостью, трафиком 0,5Tb/сутки крутится на VPS: CentOS 7, 8 CPU, 16 RAM, SSD.
Может ли снизиться скорость работы сайта при использовании проксирования? Какие другие подводные камни могут возникнуть в данном случае?
  • Вопрос задан
  • 499 просмотров
Пригласить эксперта
Ответы на вопрос 3
@Drno
Естественно скорость снизится
Сервер нужен тот, который сможет прогнать 1тб трафф в сутки через себя(упор на цп и сеть)

Вы же смените Днс запись на ip прокси сервера вначале, будет какой то простой...
Ответ написан
Комментировать
hint000
@hint000
у админа три руки
Drno,
Естественно скорость снизится
Ничего естественного в этом нет. В нормальной ситуации обратный прокси увеличивает скорость, а не снижает.
Вы же смените Днс запись на ip прокси сервера вначале, будет какой то простой...
Не будет простоя, если не делать ошибок. У кого уже обновилась запись, те пойдут через прокси. У кого не успела обновиться - пойдут напрямую без прокси. Просто на такие операции нужно закладывать время ожидания между отдельными изменениями. Сделали одно изменение, выждали сутки, чтобы с хорошим запасом у всех успели обновиться записи, сделали второе изменение. И никаких простоев.
Ответ написан
Комментировать
Wolfnsex
@Wolfnsex
Если не хочешь быть первым - не вставай в очередь!
Постараюсь по порядку:

Какой мощности должен быть сервер для проксирования? Если я правильно Вас понял, задача заключается в том, что бы поднять/настроить реверс (обратный) прокси. Так как это именно прокси, а не "зеркало" по железкам я бы начал с машину уровня: 2 ядра, 2-4Гб ОЗУ. Диск особого значения не имеет, т.к. это прокси. В теории такой машины для прокси должно хватать вполне. Ключевой упор нужно сделать на скорость порта (сети) этого самого прокси-сервера, т.к. 500Гб в сутки свободно прокачивать может далеко не каждый VPS. При очень хорошем качестве связи порт 100Мбит/сек. (а именно такую номинальную скорость порта предоставляют большинство VPS) может прокачивать около 1Тб/сутки. У Вас трафик 0.5Тб в сутки. С учётом того, что трафик на сайте никогда не бывает равномерным (в какой-то период времени трафик выше, в какой-то ниже, есть какие-то пики по трафику и т.д.), а так же с учётом того, что скорость 100Мбит/сек. на VPS - исключительно номинальная - я думаю стоит искать VPS со скоростью порта 1Гбит/сек.

Может ли снизиться скорость работы сайта при использовании проксирования?Не только может, но и вероятнее всего она снизится. Любой прокси - это дополнительное расстояние которое трафик должен пройти от сервера до клиента (и обратно). Чем дальше прокси будет находится от сервера-источника - тем больше будет просадка по скорости. И опять таки, если у прокси будет недостаточно хорошая пропускная способность (скорость порта) - падение скорости для клиента так же помножится на недостаток пропускной способности.

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

Какие другие подводные камни могут возникнуть в данном случае?
Ключевой "камень" который в данный момент вижу я - не понятно, зачем оно Вам вообще нужно? На сервере просто изменится IP адрес? - серверу можно добавить сколько угодно IP адресов, можно держать и старый и новый IP на сервере в течение 48-72 часов (цикл обновления DNS), потом старый IP отвязать... Если в какой-то момент у Вас будет 2 копии сайта, старая и новая (с разными соотв. IP) - то тут прокси тоже не нужен, держите просто их две сразу два, потом отключите старый. Или сначала мы делаем прокси на текущий сайт, потом меняем DNS-запись, ждём полного обновления DNS, потом переносим сайт на другой сервер, потом меняем запись DNS ещё раз... - но даже в этом случае, всё равно будет какое-то время простоя на перенос сайта и/или синхронизацию БД (конечно есть способы этого избежать, но это отдельная большая тема).

P.S. Возможно, в Вашем случае, так как мы говорим про прокси 1-1 - имеет смысл настроить прокси не через Nginx, а полностью завернуть трафик на другой сервер? Через какой-нибудь туннель, например, WireGuard + iptables/nftables - это позволит проксировать вообще всё (весь трафик), а не только HTTP/HTTPS и соответственно избежать казусов при прокси через Nginx, в частности, Nginx-прокси может добавлять какие-то свои заголовки, или наоборот, удалять какие-то (да, это всё настраивается, разумеется, но это нужно настраивать и проверять). Потом HTTPS, я не пробовал проксировать HTTPS-сервер через Nginx, но полагаю с этим могут возникнуть какие-то трудности, соотв. нужно будет поднять HTTP на сервере-источнике (это на уровне моих предположений, я не пробовал проксировать через Nginx именно HTTPS).

Так же, предлагаю Вам рассмотреть альтернативные варианты прокси, например HAProxy, гипотетически, использование ПО ориентированного в исключительно на решение задач именно прокси - даст лучший эффект, нежели Nginx, у которого прокси - лишь побочная функция. Так же по этой ссылке Вы можете посмотреть, какие ресурсы потребуются для прокси-сервера (раздел "Производительность").
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы