Насколько медленны сокеты TCP по сравнению с именованными каналами в Windows для локального IPC?

Я разрабатываю TCP Proxy, который будет размещен перед службой TCP, которая должна обрабатывать от 500 до 1000 активных подключений из дикого Интернета.

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

Это означает, что для каждого входящего открытого сокета TCP на сервере есть еще два сокета: второй из пары в прокси и один в реальной службе за прокси.

Размеры окон send и recv на двух прокси-сокетах установлены в 1024 байта.

Как это влияет на производительность? Насколько медленна эта конфигурация? Должен ли я приложить некоторые усилия для изменения службы на использование именованных каналов (или другого механизма IPC), или сокет localhost TCP по большей части является эффективным IPC?

Слияние двух приложений не вариант. Прямо сейчас мы застряли в конфигурации двух процессов.

EDIT: Причиной наличия двух отдельных процессов на одном оборудовании является 100% экономия. У нас только один сервер, и мы не планируем получать больше (без денег).

Служба TCP является устаревшим программным обеспечением в Visual Basic 6, которое превзошло все наши ожидания. Прокси С ++. У нас нет ни времени, ни денег, ни рабочей силы, чтобы переписать и перенести код VB6 в современную среду программирования.

Прокси-сервер - это наша попытка уменьшить конкретную проблему с производительностью службы.DDoS-атака мы получаем время от времени.

Прокси с открытым исходным кодом,и вот исходный код проекта.

Ответы на вопрос(6)

Ваш ответ на вопрос