Для однонаправленных шлюзов с сетями 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:
- Сервер на базе платформы Intel 1 x Xeon E5-2630v2 2.6(3.1)ГГц (6 core, 15MB cache, 7.2GT/s, AVX, TB, HT, Vpro, VT-x, VT-d, 95W)
- 2xDDR3 ECC Unbuffered 8GB 1600MHz
- 4xSAS 300GB 15K 3'5
- Контроллер Intel RMS25CB040 (SIOM коннектор, LSI 2208, 1GB DDR3 cache, 4 порта, до 128 устройств, RAID 0,1,5,6,10,50) + Zero-Maintenance Cache Protection (Super Cap)
- Серверная платформа Intel R1304GZ4GC (1U, до 4 SAS/SATA HDD с горячей заменой, 4x1000T, IPMI +KVM-over-IP, комплект монтажа в стойку, 2x750W)