У меня есть индивидуальная система. Ниже приведена конфигурация системы.C# несколько серверов - несколько клиентов латентность
У меня есть приложение WinForm для Windows 7 P, C# и .Net 2.0.
Это сервер-клиентское приложение. У меня несколько серверных систем почти на 60 систем. Мое приложение создает несколько клиентов для подключения каждого сервера.
У каждого клиента есть отправка/получение фонового работника. Если только один клиент отправляет несколько команд (25 команд) только одному серверу, то он занимает 3 секунды. Однако, если каждый клиент отправляет несколько команд на каждый сервер, то он занимает 18 секунд, а не 3 секунды.
Есть ли причина?
Обновление ПК имеет сетевую карту для 4-х каналов. каждый канал подключился к 10-мя контроллерам сервера.
Отредактировано Я решил эту проблему. Основной коренной причиной является использование кода сервера с BGW (Backgroundworker). Я изменил с BGW на функцию приема и отправки потоков.
Я получаю быстрый ответ с 25 командами для каждого клиента. Даже я подключил 50 клиентов, я получил одинаковый ответ для всех клиентов.
Предполагая, что это TCP, это должно быть накладные расходы на соединение. –
Да, это TCP/IP-соединение. Есть ли какое-то решение для повышения скорости? –
Это, скорее всего, реализация вашего сервера. Но невозможно сказать, как вы просто спрашиваете в общих чертах. Поэтому я голосую, чтобы закрыть вопрос, потому что он неопровержимо. – jgauffin