Назад | Перейти на главную страницу

Высокие значения Tq для HAProxy

Я просто взял на себя управление новой средой. Известная проблема заключается в том, что среда отличается высоким временем отклика (более 20 секунд), поэтому я решил включить ведение журнала haproxy и посмотреть, что происходит. Я полагал, что увижу медленную загрузку на серверах приложений, но на самом деле я вижу высокие значения Tq в HAProxy. HAProxy находится на EC2 и НЕ находится за ELB.

Sep  5 14:22:00 haproxy-apps01 haproxy[24695]: 76.14.153.221:3371 [05/Sep/2012:14:21:49.780] http-in default_apps/fe04-c 10936/0/0/55/10991 200 488 - - ---- 111/111/0/1/0 0/0 "GET /event_times/next?callback=jQuery170189312373075111_1346854917562&_=1346854918453 HTTP/1.1"

Как видите, у этого Tq около 10 секунд. Не все Tq высокие (более 1 секунды), но хороший процент из них (около 35%). Обычно, когда я вижу такое поведение, я ожидаю, что возникнут проблемы с сетью, но это невероятно высокий процент посетителей, которые сталкиваются с подобными проблемами, поэтому мне интересно, видел ли кто-нибудь это или есть какие-либо подсказки по диагностике если проблема могла быть в этой коробке?

Время высокого Tq не всегда указывает на наличие проблемы. http-server-close устанавливать?

Согласно документации:

Установка параметра «option http-server-close» может отображать большее время запроса, поскольку «Tq» также измеряет время, потраченное на ожидание дополнительных запросов.

Например, это установлено для переполнения стека, и в качестве некоторых данных примера следующий запрос:

Select Top 20 Tq from LogsLastTwoDays WITH (NoLOCK) WHERE
CreationDate > DATEADD(minute, -5, GETUTCDATE()) AND 
ResponseCode = 200 AND Host = 'stackoverflow.com'
ORDER by Tq DESC

Урожайность:

Tq    
----- 
14990 
14987 
14986 
14983 
14974 
14972 
14972 
14965 
14964 
14964 
14962 
14961 
14960 
14955 
14952 
14951 
14945 
14943 
14935 
14932 

Это потому, что с http-server-close, соединение остается открытым для клиента (постоянное соединение) до timeout http-keep-alive 15s в нашей среде.

Я обычно сосредотачиваюсь на Tr во-первых, потому что это показывает время ответа между LB и сервером.

Может помочь вставка вашей конфигурации где-нибудь.

Это может быть связано с настройкой тайм-аута, а также с режимом HTTP. Как упомянул Кайл, я бы сначала проголосовал за опцию http-server-close. Поскольку вы не включили его, вы можете подвергнуться медленной атаке, подобной атаке.

Не могли бы вы установить параметр «тайм-аут http-запроса» на 5 секунд и посмотреть, остались ли у вас эти строки или они заменены ответом 408?

ура