Существует ряд метрик, которые могут заинтересовать ваших потенциальных пользователей.
Задержка - это время отправки сообщения, которое обычно указывается в микросекундах для совмещенных устройств и в миллисекундах для всех других сценариев.Обычно он указывается как «задержка нулевого байта», что означает время, необходимое для передачи метаданных сообщения.Чем ниже, тем лучше.
Полоса пропускания измеряется в битах в секунду.Он часто указывается как «пиковая пропускная способность» и может быть получен путем отправки огромного количества данных по линии.Чем выше, тем лучше.
Загрузка ЦП - это процент процессорного времени, необходимого для передачи сообщения.Сетевые протоколы, которые могут разгрузить передачу сообщения, имеют низкое использование, что означает, что связь может «перекрывать» некоторые другие вычисления в пользовательском приложении, что имеет эффект скрытия задержки.Чем ниже, тем лучше.
Все они измеряются просто вариацией теста ping , обычно называемого "пинг-понг":
Node 1:
for n = 1 to MAXSIZE, step via n*=2
send message of size n bytes
receive a response of size n bytes
Node 2:
for n = 1 to MAXSIZE, step via n*=2
receive a message of size n bytes
send response of size n bytes
Также естьтест "пинг-пинг", в котором оба узла пишут друг другу одновременно.Это требует неблокируемой связи для установки.
Просто выведите n
и время, необходимое для каждой итерации.Первый раз - задержка нулевого байта.Самая большая устойчивая n/time
- это полоса пропускания (для отраслевого стандарта конвертирование в биты в секунду).Вы также можете измерить загрузку ЦП, необходимую для выполнения больших итераций, но это сложная тема для совершенно другого вопроса.