Как лучше всего протестировать... - KH1165

Часто задаваемые вопросы

Как лучше всего протестировать пропускную способность VPN?
 

Тестирование пропускной способности VPN с использованием удаленной сетевой папки обычно не является хорошей идеей по двум причинам:

Первая причина — сам протокол обмена файлами. Протоколы, такие как SMB, AFP или NFS, были разработаны для локальных сетей, которые являются быстрыми, надежными и имеют очень низкую задержку. Интернет же, напротив, медленный (по крайней мере, подключение к нему), ненадежный и имеет очень высокую задержку. Для получения реалистичных результатов необходимо использовать протокол, оптимизированный для этой ситуации, например HTTP или FTP.

Вторая причина — реализация протокола обмена файлами. Сегодня большинство сетевых папок используют SMB, протокол обмена файлами Windows. Apple имеет свою собственную реализацию этого протокола, но она далеко не хороша. В то время как реализация SMB 3.x уже плохая, реализация SMB 1.x/2.x (режим совместимости) ужасна, и по ряду причин macOS часто переключается в этот режим совместимости. При тестировании с локальной сетевой папкой NAS мы получили 28 МБ/с при использовании SMB 3 и всего 18 МБ/с при использовании SMB 1, по сравнению с 50 МБ/с при использовании AFP.

Если у вас есть Mac на удаленной стороне, очень легко настроить эталонный HTTP-сервер. Вам просто нужно открыть стандартное приложение «Терминал» (используйте Spotlight для его поиска), а затем выполнить следующий набор команд (каждая команда подтверждается нажатием Return/Enter):

mkdir /tmp/www-bench
cd /tmp/www-bench
dd count=1048576 bs=1024 if=/dev/random of=1GiB.dat
php -S 0.0.0.0:8080

Первая команда создает новый каталог, вторая входит в этот каталог, третья создает файл данных размером 1 ГБ, заполненный случайными данными, а последняя запускает примитивный HTTP-сервер, который обслуживает содержимое текущего каталога по порту 8080. Теперь ваши пользователи VPN могут просто открыть этот адрес в Safari (или любом другом браузере):

http://a.b.c.d:8080/1GiB.dat

Где “a.b.c.d” — IP-адрес Mac, на котором вы только что ввели команды выше. Наблюдая за скоростью передачи данных в браузере, вы получите хорошее представление о возможностях вашей VPN. Конечно, это ограничено многими факторами, такими как скорость вашего локального интернет-соединения, скорость удаленного интернет-соединения и вычислительная мощность шлюза VPN (которая обычно намного меньше вычислительной мощности Mac).

Чтобы очистить систему после теста, снова активируйте окно терминала и нажмите CTRL+C, чтобы остановить HTTP-сервер, а затем выполните следующие две команды:

cd
rm -r /tmp/www-bench