Как установить oracle11gr2 на ubuntu 15.04?

iperf позволяет пользователю указывать порты в трех местах - в одном месте, где сервер прослушивает, в другом, где подключается клиент, и в одном, где клиент создает мини-сервер для -d / Опция --dualtest . Для этого нам нужны все три.

Хотя можно было сделать это с меньшим количеством портов, я обнаружил, что проще указать все порты, чтобы я мог лучше отслеживать их. В этой настройке я предполагаю, что настройка выглядит примерно так:

-----------            -------          -------
| Control |  SSH #1,2  | Box |  SSH #3  | Box |
|   Box   | ---------> | #1  | -------> | #2  |
-----------            -------          -------

«Блок управления» может также иметь прямой доступ к SSH в блоке №2, но нам это не нужно. Для этого ящик №2 будет сервером iperf, который будет прослушивать 7001, а ящик 2 будет клиентом, который будет прослушивать порт 7002. Это могут быть любые доступные порты, я выбрал эти два наугад.

Сначала подключитесь к ящику №1. Затем вам нужно подключиться к Box # 2. В этом вложенном сеансе вам нужно будет создать два туннеля портов: один прямой и один обратный. Для этого используются следующие параметры ssh: -L7001: localhost: 7001 для прямого и -R7002: localhost: 7002 для обратного. Поскольку iperf ожидает, что порты будут расположены на удаленном хосте, каждый туннель должен быть симметричным (одинаковый номер порта на обоих концах туннеля). Затем запустите сервер iperf, прослушивающий порт 7001 ( iperf -s -p 7001 ).

Это может выглядеть примерно так:

me@control$ ssh box1.example.com
box1$ ssh -L7001:localhost:7001 -R7002:localhost:7002 box2.example.com
box2$ iperf -s -p 7001
------------------------------------------------------------
Server listening on TCP port 7001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------

После того, как это начнется, откройте вторую сессию для ящика №1. Здесь запустите клиент iperf для localhost на порту 7001, с портом обратного прослушивания на 7002 (порт обратного прослушивания по умолчанию - 5001, как и сервер).Это означает, что клиент попытается подключиться к серверу iperf на localhost: 7001, который SSH захватывает и отправляет в ящик №2. Затем он запускает «мини» сервер iperf, прослушивающий 7002. После того, как соединение от клиента к серверу инициируется, клиент iperf сообщает серверу iperf подключиться обратно через порт 7002. Сервер отмечает, что входящее соединение исходит из 127.0 .0.1 (или :: 1 в зависимости от конфигурации), поэтому он запускает «мини-клиент», который будет подключаться к 127.0.0.1:7002. Поскольку у нас также есть обратный прямой ход, ssh также устанавливает это соединение и отправляет его в ящик 1.

Ваш второй сеанс может выглядеть примерно так:

(примечание для этого примера: я установил время до 30 секунд для другого теста; значения по умолчанию будет достаточно)

me@control$ ssh box1.example.com
box1$ iperf -c localhost -p 7001 -L 7002 -d -t 30
------------------------------------------------------------
Server listening on TCP port 7002
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to localhost, TCP port 7001
TCP window size: 4.00 MByte (default)
------------------------------------------------------------
[  3] local 127.0.0.1 port 37014 connected with 127.0.0.1 port 7001
[  5] local 127.0.0.1 port 7002 connected with 127.0.0.1 port 51806
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-30.0 sec  1.26 GBytes   361 Mbits/sec
[  5]  0.0-30.2 sec  1.23 GBytes   349 Mbits/sec

Когда клиент закончит тестирование, окно вашего сервера может выглядеть примерно так:

...
box2$ iperf -s -p 7001
------------------------------------------------------------
Server listening on TCP port 7001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 127.0.0.1 port 7001 connected with 127.0.0.1 port 41997
------------------------------------------------------------
Client connecting to 127.0.0.1, TCP port 7002
TCP window size: 4.00 MByte (default)
------------------------------------------------------------
[  6] local 127.0.0.1 port 46864 connected with 127.0.0.1 port 7002
[ ID] Interval       Transfer     Bandwidth
[  6]  0.0-30.0 sec  1.23 GBytes   351 Mbits/sec
[  4]  0.0-30.2 sec  1.26 GBytes   359 Mbits/sec

ПРЕДУПРЕЖДЕНИЕ: SSH ИСКЛЮЧАЕТ воспринимаемые скорости соединения. Запуск iperf без SSH между теми же двумя серверами привел к следующему результату (блоки находятся в одинаковых ролях):

Клиент:

box1$ iperf -c box2.example.com -d
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to box2.example.com, TCP port 5001
TCP window size:  306 KByte (default)
------------------------------------------------------------
[  3] local 172.20.0.1 port 45722 connected with 172.20.0.2 port 5001
[  5] local 172.20.0.1 port 5001 connected with 172.20.0.2 port 60909
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  1.01 GBytes   866 Mbits/sec
[  5]  0.0-10.0 sec   823 MBytes   689 Mbits/sec

Сервер:

box2$ iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 172.20.0.2 port 5001 connected with 172.20.0.1 port 45722
------------------------------------------------------------
Client connecting to 172.20.0.1, TCP port 5001
TCP window size:  306 KByte (default)
------------------------------------------------------------
[  6] local 172.20.0.2 port 60909 connected with 172.20.0.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[  6]  0.0-10.0 sec   823 MBytes   690 Mbits/sec
[  4]  0.0-10.0 sec  1.01 GBytes   864 Mbits/sec

Я пытался испортить настройки окна TCP, длину буфера, TCP_NODELAY , и с использованием нескольких сеансов SSH, но накладные расходы все еще присутствовали. Я также пробовал HPN-SSH, но на самом деле я получил лучшую производительность по сравнению с обычным SSH, поэтому я думаю, что есть параметр, который я пропустил, когда настраивал HPN. Выполнение подключений iperf в симплексном, а не в дуплексном режиме (опция -r / - компромисс (выполнить двунаправленный тест индивидуально)) дало результаты, близкие к скорости соединения, но все же со значительным SSH накладные расходы.

С учетом всего сказанного, если вам нужно создать мост между этими двумя машинами и измерить пропускную способность этого моста, это решение идеально. Если вы пытаетесь измерить необработанную пропускную способность между этими машинами, цифры, предоставляемые этими тестами, будут меньше (и, вероятно, намного меньше), чем скорость соединения.

3
06.07.2015, 17:32
0 ответов

Теги

Похожие вопросы