Поделиться через


Вычисление накладных расходов с помощью Netstat

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

Вычисление затрат на сеть приложения с помощью Netstat

  1. Получение статистики текущего интерфейса с помощью Netstat.
  2. Запустите приложение.
  3. Получите статистику интерфейса с помощью Netstat.
  4. Вычислите количество байтов, полученных между двумя измерениями Netstat.

Пример

В следующем примере показано, как использовать TTCP для отправки 10 байт данных по одному байту за раз.

Во-первых, вычисляются теоретические издержки для приложения. Для этого теста все пакеты имеют размер 60 байт (минимум Ethernet). Для этой передачи требуется три пакета для настройки подключения, 10 пакетов данных, 10 пакетов подтверждения (задержка ACK активируется почти каждый раз) и четыре пакета для корректного закрытия подключения.

Это равно 27 пакетам по 60 байт каждый или 1620 байт (3+4+10+10)*60=1620). Так как передается только 10 байт данных, накладные расходы составляет 1610 байт, что составляет более 99 % протоколов.

Команды

netstat -e

Interface Statistics
                     Received     Sent
Bytes                392291400    444684566
Unicast packets      487627       570086
Non-unicast packets  1159163      11300
Discards             0            0
Errors               0            0
Unknown protocols    52812

ttcp -t -h0 -D -l1 -n10 -p9 172.31.71.99

ttcp-t: 10 bytes in 2168 real milliseconds = 0 KB/sec
ttcp-t: 10 I/O calls, msec/call = 216, calls/sec = 4, bytes/call = 1

netstat -e

Interface Statistics
                      Received     Sent
Bytes                 39229207     444685382
Unicast packets       487641       570100
Non-unicast packets   1159164      11301
Discards              0            0
Errors                0            0
Unknown protocols     52812

Вычисления

Отправлено: 816 байт

Получено: 674 байта

Всего байтов: 1490

Пользовательские байты: 10

Накладные расходы: 1480/1490 = 99,3%

**Goodput: **= 5 байт в секунду (или 40 бит/с)

Примечание

Фактически переданные байты не соответствуют теоретическим значениям из-за того, что байты заполнения не учитываются в значениях Netstat.

 

Поведение приложения

Высокопроизводительные приложения windows Sockets