2016-09-08 2 views
0

Скажите, что я подписываюсь на услугу, которая дает мне температуру в моем городе, и иногда она посылает данные по типу очень быстро, иногда в более длительные промежутки времени.Алгоритмы. Отслеживание задержки данных от одной службы к другой.

Temp Timestamp (ms) 
20C 1 
21C 2 
20C 286 
21C 287 
21C 288 
21C 289 
20C 423 
etc. 

Теперь позволяет сказать абонентскими преобразует градусы Фаренгейта и переиздает эти данные в моей компании, с его собственной временной меткой, когда он делает это.

Предостережение 1: Некоторые тики данных отбрасываются, потому что некоторые из тиков идут быстрее, чем могут быть пересчитаны до Фаренгейта, поэтому оно будет принимать последнее значение в очереди.

Предостережение 2: Опубликованные данные по Фаренгейту могут занять больше времени (то есть иметь более высокую задержку), если количество тиков уменьшает доступную пропускную способность.

Temp Timestamp (ms) 
68F 2:00:00:0001 
69F 2:00:00:0023 
68F 2:00:00:0063 
etc.. 

Что бы лучший способ «соответствовать» возможные соответствующие галочки и вычислить задержку между двумя службами? Было бы лучше сообщить о двух задержках? Один при высокой нагрузке и один при стандартной нагрузке? Если да, то как я могу определить, когда существует высокая нагрузка? Когда некоторые значения задержки являются определенными отклонениями std?

ответ

0

У вас есть Celsius службы C, а Фаренгейта службы F и подписчика Фаренгейта С.

Есть три места, которые вы можете измерить задержки:

C--->F (The time it takes for outbound C to go to F) 
F--->S (The time it takes for outbound F to go to S) 
F(c) (The time of computation for Celsius to Fahrenheit). 

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

Что касается два ваших предостережений:

  1. Если данные теряются, не имеет задержек. Это никогда не доходило до конца, поэтому вы не можете измерить разницу между началом и временем окончания.

  2. Это нормально, если у вас более высокая латентность при увеличении использования. Сообщите об этом, как обычно, нет необходимости в специальной обработке.

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

Смежные вопросы