Медленные запросы Squid при падающем переписывателе URL
Проверьте вспомогательную программу перезаписи URL, когда прокси принимает соединения, но запросы зависают до передачи дальше.
Если Squid принимает соединения, но долго отправляет запросы дальше, проверьте любой переписыватель URL на этом пути. В Squid 5–7 url_rewrite_program задаёт внешнюю программу, к которой обращаются после первичных проверок доступа. Она может задерживать запрос до того, как его получит адресат.
- Прочитайте фактически применяемую команду перезаписи, включая обёртку и аргументы.
- Сопоставьте затронутую транзакцию с диагностикой вспомогательной программы. Повторяющиеся выходы дочерних процессов, некорректные ответы и растущая очередь — разные признаки.
- Проверьте, не вызывает ли сбой один шаблон URL. Сохраните отредактированный пример таких входных данных вместо изменения посторонних настроек resolver.
У вспомогательной программы строчный контракт запроса и ответа. Текст прогресса обёртки в стандартном выводе может его нарушить. Успешный запуск скрипта с правами администратора тоже не воспроизводит входной поток, окружение или права Squid. Этот путь отделён от проверки пароля.
Только когда обмен заработает, это стоит считать проблемой ёмкости. url_rewrite_children управляет процессами и поведением очереди, но больше дочерних процессов не устранит падения, вызванные входными данными. Опция параллелизма вводит идентификаторы каналов и требует вспомогательной программы, реализующей такой диалог.
Авторизованное сравнение без переписывателя позволяет выделить его вклад. Если оставить его в обходе при перегрузке, может измениться маршрутизация или фильтрация, которую он обеспечивает, поэтому это решение политики. Сравните наблюдавшееся ожидание вспомогательной программы с данными DNS и следующего соединения, прежде чем относить всю задержку на сетевую латентность.