Определение метрики, которую вы ищете, зависит от ее цели - вы можете сделать это разными способами, и какой из них наилучший, всегда зависит от цели.
В общем, вы ищете какую-то функцию distance(A, B)
. В общем случае это будет зависеть от ширины полосы и задержки между A и B:
distance(A, B) = f(bandwidth(A, B), latency(A, B))
форма функции f () будет зависеть от цели, от приложения - что вам действительно нужно оптимизировать. Простейшим было бы использовать линейную функцию:
distance(A, B) = alpha * bandwidth + beta * latency
и снова, коэффициенты альфа и бета будут зависеть от того, что вы пытаетесь оптимизировать.
Если вы измерили некоторую переменную, которая измеряет производительность вашей системы, вы можете выполнить статистический анализ (регрессию), чтобы найти оптимальные параметры:
performance(A, B) ~ alpha * bandwidth(A, B) + beta * latency(A, B)
Также будьте осторожны, когда говорите о метриках. Каждый показатель должен соответствовать следующему условию:
distance(A, B) + distance(B, C) >= distance(A, C)
Что не всегда верно в компьютерных сетях, поскольку это зависит от решения маршрутизатора.