Доброго времени суток!Прошу помощи в диагностике проблемы.
Имею работающий уже года 4 сервер на FreeBSD 7.0 с прозрачным squid3.0STABLE7, bind 9.4.2.
Где-то неделю назад (после кратковременной просадки напряжения) начались проблемы с Яндексом (у нас очень любят эту поисковую систему) - стартовая страница Яндекса открывается достаточно стабильно, поисковая выдача загружается с некоторой задержкой, а вот результаты выдачи, сами сайты практически не открывает.
То есть, я нажимаю на результат выдачи, в хроме открывается вкладка и висит на url yandex.ru/redir/...... и так далее. В подавляющем случае попыток, с первого раза никогда не открывает. Т.е. так и висит - ни ответа от прокси, ни загрузки страницы.
И ситация плавающая - то не открывает совсем, то буксует, то достаточно хорошо всё открывается.
Всё выглядит так, словно у меня где-то неверно указан MTU. Во времена aDSL именно так всё и было, но сейчас оптика, настройки сервера статичны уже более трёх лет (только изменения правил файервола и acl в squid под новых пользователей).
Нахожу через ping -D -s размер MTU, ставлю его на интерфейсе, как он тут же уменьшается:
например, на интерфейсе сейчас 1500 - выясняю что пакеты более 1488 не проходят, требуют фрагментации, ставлю на интерфейсе 1488 - пакеты более 1460 начинают требовать фрагментации, и т.д. Менял сетевую карту (xl0, т.е. 3Com) на внешнем интерфейсе - проблема осталась.
Разговаривал с техподдержкой провайдера - никаких изменений не было. У меня тоже. Проблема появилась.
Достаточно слабо разбираюсь в мониторинге систем во FreeBSD, и всё же не вижу проблем с производительностью - диск справляется (а это один единственный IDE 60Gb), сетевые интерфейсы не перегружены, процессоры отдыхают (средний load avrages: 0.20 0.14 0.09).
При этом, переключаюсь на клиентской машине на резервный шлюз (другой сервер с такой же версией BSD, squid, но другой провайдер) - всё работает изумительно. Приношу свой системник с Windows 7 в серверную и включаюсь в медиа-конвертер провайдера напрямую - всё работает изумительно.
Т.е. на первый и второй взгляды всё выглядит проблемой конкретного сервера и/или его настройки.
В логах squid - нечастые, но регулярные сообщения пары клиентов:
clientParceRequestMethod: Unsupported method in request '...'
clientProcessRequest: Invalid Request
Так же встречаются сообщения:
tunnelReadServer: FD 106 (цифры разные): read failre: (32 - цифры разные) Broken pipe
tunnelReadServer: FD 278 (цифры разные): read failre: (0 - цифры разные) Unknown error: 0
Ещё были сообщения о превышении размера запроса, но их исправил так:
request_header_max_size 32 KB
reply_header_max_size 32 KB
Готов предоставить всякие выводы iftop, netstat, systat.