URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID12
Нить номер: 6590
[ Назад ]

Исходное сообщение
"Профайлинг?"

Отправлено клиент , 02-Фев-11 17:19 
Есть ли возможность вывести в лог информацию о времени обработки конкретного запроса в таком виде:

запрос от клиента на прокси - запрос на сервер - ответ от сервера - ответ клиенту.
Можно без подробностей типа "начал писать в сокет - закончил писать в сокет".

История такая: имеется squid ("прокси"), через который работает некий сервис, который молотит с 1 хоста ("клиент") на  другой хост("провайдер")  короткие, но частые запросы POST (1-2КБ, до 50 запросов в сек, но не более 1500 в час). Время от времени "клиент" замечает непонятные задержки по 45 сек (?!),  распределение явно не нормальное, причем известен даже точный день возникновения проблемы, но админ клянется, что ничего не трогал.

Я - клиент, страдающая сторона, имею черный ящик, который нужно вылечить. Есть определенный багаж решенных головоломок такого рода. Причем каждый раз админ клялся, что ничего не менял, и проблема оказывалась действительно в установках по-умолчанию, о коих он имел слабое представление, а я узнавал после упорного гугления и изучения ненужной мне матчасти. В этот раз ничего не нашел, поэтому обращаюсь к сообществу.

Что имеется: снифером выяснили, что задержки именно на прокси (подпольно, сам админ этого не делает, дабы не признавать, что проблемы точно у него). Версия сквида не известна, но одна из последних (в этом он аккуратен). Если это критично, выясню. Кеширование для "провайдера" уже отключено, но, вроде посты и не кешируются. По пулу ограничений нет. Я так понимаю, духкилобайтных запросов это вообще не касается, или нет? Вообще, очень похоже на работу сборщика мусора, когда идет 30-50 запросов в секунду, этих задержек нет. Явной корреляция с загрузкой цпу не просматривается, но проявляется всегда в рабочее время, когда вся контора ломится в сеть. И опять, большинство запросов обрабатываются за доли секунды, а по среднему с 0.4 сек выросло до 2 сек, не заметить было невозможно.

Итого, требуются идеи, что можно заподозрить, может, у кого-то было что-то подобное. И, для начала, первый вопрос сабжа, чтобы без снифера что-то предъявить или наоборот, исключить сквид и присмотреться к среде (железо, ось).

Очень надеюсь на помощь.



Содержание

Сообщения в этом обсуждении
"Профайлинг?"
Отправлено ipmanyak , 02-Фев-11 19:24 
Критичные сервисы через прокси обычно не выпускают, а выпускают напрямую, то есть NAT-ят. Судя по фразе - "проявляется всегда в рабочее время, когда вся контора ломится в сеть" это значит что канал удавлен. Если хотите именно через  прокси, то сделайте в delay_pool  отдельный аксель для айпишников этого сервиса и дайте ему максимальный канал, остальным юзерам удавите канал в delay_pool на полканала или еще меньше. Если будете выпускать напрямую без прокси, то в сквиде все равно настройте delay_pool и не давайте сквиду весь канал, то есть опций -1/-1 у вас в пуле быть не должно, а должны стоять значения в зависимости от ширины вашего канала.
> По пулу ограничений нет.

уверены?
> Я так понимаю, духкилобайтных запросов это вообще не касается, или нет?

смотря что указано в delay_pool, если он есть.
Для понимания delay_pool, пример:

delay_parameters 2 -1/-1 2000/16000

-1/-1 – весь канал отдать сквиду  - анлимитед, а индивидуально на каждого юзверя ведерки по 16кб, а струйка в него в 2кб !  (сначала быстро усосет 16кб, а потом будет лить со скоростью в 2кб/cек)  точнее - быстро будет усасывать объекты размером до 16кб , объекты больше 16кб будет сосать на скорости 2кб/сек.
Сравните со своими настройками delay_pool.


"Профайлинг?"
Отправлено клиент , 02-Фев-11 19:43 
> Критичные сервисы через прокси обычно не выпускают, а выпускают напрямую, то есть
> NAT-ят.

Спасибо, с этим я целиком согласен, но те, кто имеют доступ "туда", ничего лишнего сопровождать не хотят, а тех, кто хочет, "туда" не пускают. Короче, есть, что есть, я ж тоже тут не своим делом пытаюсь заниматься :(


По поводу "лить" и "сосать" - пул привилегированый, подробности попытаюсь узнать, но 2кб/сек - это было бы сносно, а проявляются именно задержки по 45 сек.


"Профайлинг?"
Отправлено Edd , 02-Фев-11 23:50 
Неплохо бы увидеть загрузку сервера в этот момент, а так же, если вам удастся подсмотреть конфиг файл, это б было бы просто шикарно.  
Если не удастся посмотреть загрузку, то хотя бы узнайте конфигурацию сервера по железу, и сколько приблизительно клиентов сидит, плюс, такой вопрос, если у вас аутентификация на сквиде?