Назад | Перейти на главную страницу

Оцените, достигнута ли пропускная способность сети

У меня есть 2 процесса, обменивающихся данными по TCP / IP следующим образом: процесс A отправляет 20 КБ данных процессу B, а после некоторых вычислений процесс B отправляет ответ (2 КБ) обратно в A.

Когда я запускаю оба процесса на одном компьютере 100 раз в цикле (EDITED: каждый раз, когда я жду ответа от предыдущей итерации перед отправкой новой задачи), общее время выполнения составляет 15 секунд. Когда я запускаю их на разных машинах, подключенных к сети 1 Гбит / с, общее время выполнения увеличивается до 30 секунд. Поэтому я предполагаю, что для связи по сети требуется 15 секунд.

Я хотел бы знать, является ли это разумным временем связи (15 секунд / 100 раз = 0,15 секунды для отправки задачи и получения ответа) для указанной пропускной способности сети и объема данных для отправки. Если это может быть быстрее (как я думаю), где мне посмотреть (брандмауэр, маршрутизация и т. Д.)?

Используемая ОС - Windows 7 Ultimate, если это актуально.

Фактическая пропускная способность сети не должна быть здесь фактором, поскольку вы даже близко не приблизитесь к насыщению канала 1 Гбит / с.

Теперь, когда ваше приложение должно пройти вниз через уровни 1-6 модели OSI, а затем вернуться на уровень приложения на принимающей стороне, каждый шаг на этом пути будет добавлять очень небольшую задержку к соединению.

Однако при этом 150 миллисекунд - это довольно много времени для такого небольшого количества данных (пакетный пакет 20 КБ с возвратом 2 КБ), поэтому, если ваша сеть не перегружена или не имеет какого-либо строгого QoS, тогда нет причин, по которым добавление сети должно занять так много времени. Вы можете проверить это сами, если хотите - отправьте ICMP-пакет размером 20 КБ и посмотрите, сколько времени потребуется, чтобы получить ответ. (пинг X.X.X.X -l 20480).

Но, честно говоря, здесь действует так много других факторов, и одновременный запуск 100 экземпляров вашего приложения только усложняет задачу. Сколько времени на самом деле требуется для запуска одного экземпляра?

Кажется неправильным, что это проблема пропускной способности сети (если, конечно, пропускную способность не съедает что-то еще). Когда все сказано и сделано, ваш общий объем передачи данных для 100 транзакций составляет 2,2 МБ, что на самом деле ничто.

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