2013-07-03 4 views
0

У меня есть индивидуальная система. Ниже приведена конфигурация системы.C# несколько серверов - несколько клиентов латентность

У меня есть приложение WinForm для Windows 7 P, C# и .Net 2.0.

Это сервер-клиентское приложение. У меня несколько серверных систем почти на 60 систем. Мое приложение создает несколько клиентов для подключения каждого сервера.

У каждого клиента есть отправка/получение фонового работника. Если только один клиент отправляет несколько команд (25 команд) только одному серверу, то он занимает 3 секунды. Однако, если каждый клиент отправляет несколько команд на каждый сервер, то он занимает 18 секунд, а не 3 секунды.

Есть ли причина?

Обновление ПК имеет сетевую карту для 4-х каналов. каждый канал подключился к 10-мя контроллерам сервера.

Отредактировано Я решил эту проблему. Основной коренной причиной является использование кода сервера с BGW (Backgroundworker). Я изменил с BGW на функцию приема и отправки потоков.

Я получаю быстрый ответ с 25 командами для каждого клиента. Даже я подключил 50 клиентов, я получил одинаковый ответ для всех клиентов.

+0

Предполагая, что это TCP, это должно быть накладные расходы на соединение. –

+0

Да, это TCP/IP-соединение. Есть ли какое-то решение для повышения скорости? –

+0

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

ответ

0

Я решил эту проблему. Основной коренной причиной является использование кода сервера с BGW (Backgroundworker). Я изменил с BGW на функцию приема и отправки потоков.

Я получаю быстрый ответ с 25 командами для каждого клиента. Даже я подключил 50 клиентов, я получил одинаковый ответ для всех клиентов.

Смежные вопросы