« Отговор #7 -: Sep 30, 2015, 22:39 »
Няма как да се отговори на този въпрос, защото не е много ясно какво имаш предвид "латентност".
В общи линии, времето изминало за обслужването на заявката (response time) включва латентността (latency) и времето за обслужване от страна на сървъра (processing time). От прочетеното, имам усещането че те интересува времето за обслужване на заявката, а не латентността. Между тези две неща има огромна разлика, защото играят съвсем различни фактори и съответно начините да ги измериш са доста различни.
Например ако искаш да изгледаш един филм, можеш да го свалиш през бавна dialup връзка, можеш да пратиш и пощенски гълъб и да ти го върнат по пощенски гълъб под формата на флаш памет, привързана към него. Да предположим че разстоянието и останалите неща са подбрани така че свалянето на няколко гигабайта през бавния dialup отнема точно толкова време, колкото да прелетят гълъбите с флашките, да речем общо 10 дни. Крайното време докато ти се достави филма (response time-а) е едно и също - 10 дни. Латентността е безкрайно различна - при dialup връзката е в порядъка на милисекунди до секунди, при варианта с гълъбите е няколко дни - докато гълъба прелети разстоянието.
Нещата не са много съпоставими разбира се, защото през dialup връзката използваш IP протокола и филмът е "опакован" в милиони IP пакети, а максималния капацитет на връзката е ограничен - в случаят с гълъбите нямаш ограничение на максималния капацитет, целият филм се праща наведнъж.
Сега представи си че изменяме сценария - от същото място искаме субтитри за филма, които са само няколко килобайта. С модема ги източваме за секунди. С гълъбите отнема.....отново 10 дни. Та максималният капацитет на връзката при варианта с гълъбите може да е неограничен, но виждаме как това в случая не е особено голямо предимство.
Абсолютно същото е и примерно със заявките към уеб сървърите. Има мрежова латентност - тя зависи от връзката ти, от рутерите по пътя - брой/натоварване, от преносната среда и т.н. Това време варира, но за удобство можем да приемем че е относително константно. Това време лесно можем да измерим просто с ping (макар че това може да е лъжливо ако има някъде приоритизация на трафици). Има и време за което уеб сървъра обслужва заявката - това варира ужасно много в зависимост от самата заявка, натоварването на сървъра и 500 други фактора. То се измерва по-сложно и обикновено резултатите се усредняват, а обектите, които се достъпват се подбират така че да покриват определени сценарии. Вариант да се мери това е httperf примерно.