Size: a a a

2021 June 28

K

KivApple in ctodailychat
на каждое прокси-подключение
источник

O

Onlinehead in ctodailychat
У тебя требование, чтобы был уникальный сет server_ip:server_port:client_ip:client_port. Даже если у тебя первые 2 значения для всех одинаковые, остальные то могут спокойно меняться.
источник

K

KivApple in ctodailychat
то есть надо либо проксировать на множество машин или хотя бы сетевых интерфейсов локальной машины
источник

K

KivApple in ctodailychat
либо обрабатывать всё без прокси, напрямую
источник

O

Onlinehead in ctodailychat
Угу, все так. Прокси 1-1 действительно не сможет прокачать больше, чем сумма исходящих и входящих соединений. Все зависит от того, как она сделана, но там скорее всего и балансеры слабенькие. Амазоновские балансеры умеют в несколько миллионов соединений, но этого все равно мало в данном кейсе:)
источник

K

KivApple in ctodailychat
интересно, сработает ли лайфхак с абузом того факта, что localhost это целая подсеть
источник

K

KivApple in ctodailychat
типа проксировать на 127.0.0.1, 127.0.0.2 и т. д.
источник

K

KivApple in ctodailychat
оно всё завернётся на локалхост, но IP разные будут в паре порт-хост
источник

O

Onlinehead in ctodailychat
Не вижу причин почему не сработает
источник

O

Onlinehead in ctodailychat
С таким же успехом можно на себя повесить 100500 адресов из "локальной" подсетки и ходить в них.
источник

GP

Gleb Pomykalov in ctodailychat
я бы просто избежал проксирований любой ценой. слишком дорого получится. А балансировать через несколько DNS записей, если это допустимо. Если нет - можно поиграться с anycast
источник

AS

Alexey Shcherbak in ctodailychat
Глеб прав ? Чем больше я пытаюсь разобраться тем больше начинаю путаться.
источник

K

KivApple in ctodailychat
ну да, для такого хайлоада прокси выглядит непозволительной роскошью
источник

K

KivApple in ctodailychat
коннект задаётся уникальной комбинацией remote ip + remote port + local ip + local port
источник

O

Onlinehead in ctodailychat
Смотри. У тебя нет жесткого технического ограничения на 65к коннектов. У тебя есть проблема в том, что у тебя количество коннектов измеряется миллионами соединений, которые как раз уже тяжеловато держать. Причем не столько из за количества коннектов, сколько из-за пакетрейта в 40м в секунду.
источник

K

KivApple in ctodailychat
local ip и local port у сервера общие на ВСЕ входящие соединения одного сервиса
источник

K

KivApple in ctodailychat
то есть со стороны сервера лимитов на уровне tcp нет, со стороны клиента лимит 65к коннектов к ОДНОМУ IP
источник

AS

Alexey Shcherbak in ctodailychat
ну пакетрейт такой это запредельно много. реалистично мы такого не ожидаем. Это верхняя планка..
источник

O

Onlinehead in ctodailychat
Ни один из этих фактов не является фундаментальным ограничением при наличии своей достаточно жирной железки (в конце концов, никто не отменял четырехпроцессорный сервер со 128 ядрами на проц и жирными  сетевухами с хорошим офлоадом), но если ты не готов покупать подобный сервер, то ты ограничен ресурсами виртуальной машины, которая может обработать на порядок меньше соединений и пакетов в секунду.
источник

O

Onlinehead in ctodailychat
Ну 10м клиентов, каждый шлет 1 раз в 0.25 секунды, 10м/0.25...
источник