Как выбрать скорость однонаправленной передачи?

Для однонаправленных шлюзов с сетями 100 Мбит/с проблем не возникает. Современное оборудование (даже ноутбуки) способно без проблем принять и обработать такой поток.

В утилите передачи данных ScanSendService есть параметры s, d и m. Цитата из описания на программное обеспечение:

s: - скорость передачи в Мбит/с, для сети 100 Мбит/с рекомендованное максимальное значение 95; для сети 1 Гбит/с максимальное значение то, которое способно принять/передать ваше оборудование; d: - количество передач данных, при d:1 данные передаются один раз, при d:2 два раза; m: - минимальный размер посылки, при m:1400 данные режутся по 1 пакету UDP, фрагментированные пакеты отсутствуют, достижение максимальной скорости передачи маловероятно; при больших значениях m будут фрагментированные пакеты, максимальная скорость передачи.

Поэтому для однонаправленных шлюзов с сетями 100 Мбит/с мы рекомендуем ставить следующие параметры (необходимо понимать, что они влияют на скорость и надежность передачи):
s:95, m:65507, d:2

Для однонаправленных шлюзов с сетями 1 Гбит/с ситуация обстоит несколько сложнее. Не всякий компьютер способен выдать UDP-поток в 900 Мбит/с и более. Тем более не всякий компьютер может принять UDP-поток в 900 Мбит/с и более.

Для «тонкой» настройки скорости однонаправленной передачи мы рекомендуем приведённый ниже алгоритм. Этот алгоритм позволяет не столько определить максимальную скорость передачи системы, сколько определить - какая часть аппаратного оборудования вносит максимальные ограничения на нее.

1. Оценка с помощью iperf

Замечание.
Эта оценка возможна, если на передающем компьютере стоит операционная система типа Linux. Iperf под Windows в UDP-режиме больше 40 Мбит/с в один поток выдать не может.

На приемном ПК запустить iperf со следующими параметрами:

iperf -s -u -l 63K -w 8M

На передающем ПК запустить iperf со следующими параметрами:

iperf -c 192.168.1.5 -u -l 63K -w 8M -b 500М -t 60,

где -b 500М — устанавливаемая скорость передачи, в данном случае, как пример, 500 Мбит/с.

На передающем компьютере устанавливаем скорость передачи и смотрим, чтобы на приемном компьютере в логах iperf не было потерь. Именно потерь, если будут сообщения о перестановках пакетов, то их можно игнорировать, на надежность передачи перестановки не влияют.

Таким образом, получаем Siperf - максимальную скорость передачи пакетов системы (не достижимую для передачи данных), которая зависит от скорости процессора, чипсета и сетевой карты.

2. Работа RecvMultiPorts в отладочном режиме.

В ScanSendService устанавливается скорость на 10 Мбит меньше Siperf. В ScanSendService устанавливается m:65507, d:1.

В RecvMultiPorts устанавливается опция n:1. Данный режим позволяет оценить производительность системы по приёму данных из сети, исключая дисковую подсистему. Цитата из описания программного обеспечения:

при значении n:1 включается режим отладки. В этом режиме происходит приём файлов, но не производится их сохранение на диск, т.е. программное обеспечение работает без затрат ресурсов на дисковую подсистему.

Производится передача файлов различного размера (от 1 К до 4 Гбайт). Если потерь файлов нет, то скорость остается та же. Если есть потери файлов, то скорость снижается до момента отсутствия потерь.

Таким образом, получаем Sno_disk – максимальную скорость передачи данных системы без учёта дисковой подсистемы.

3. Проверка работы в рабочем режиме RecvMultiPorts.

В RecvMultiPorts убирается опция n. В ScanSendService устанавливается m:65507, d:1.

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

4. Перед началом эксплуатации в ScanSendService устанавливается d:2.

Рекомендации по выбору дисковой подсистемы.

При конфигурировании компьютера для однонаправленной передачи главное внимание стоит обратить внимание на выбор дисковой подсистемы. При пиковой нагрузке дисковая система должна выдерживать поток 2-2.5 Гбит/с. 1 Гбит на прием от шлюза и 1 Гбит на отдачу в сеть, плюс часть ресурсов для функционирования операционной системы. Поэтому встает вопрос не столько о сохранности данных, сколько о скорости их записи/чтения.

Для достижения максимальной скорости работы мы рекомендуем дисковую подсистему приемного компьютера включать в RAID0 (stripe режим).

Ниже приведен пример конфигурации системы, с которой не было проблем при s:930, m:65507, d:2: