Lumber room
3 May 2011

Как я задосил squid аудиоплеером

Сегодня днём завалился squid в конторе, потом завалился второй раз. Симптомы были одни и те же — процесс squid сжирал всю память на машине, и переставал отвечать на запросы. «Расследование» выявило забавный баг.


Просмотр cache.log после первого падения не выявил ничего криминального, кальмар был перезапущен, но через несколько часов симптотмы повторились.
После второго падения и перезапуска, я полез в access.log, и у меня встали волосы дыбом — огромное количество запросов к post.audioscrobbler.com с ответом TCP_DENIED.
Разгадка оказалась проста: именно сегодня утром я поставил себе на машину плеер clementine, настроил его на свою учётку last.fm, и начал пользоваться, оставив настройку прокси на стандартном значении — «использовать системные настройки прокси».
И вот вместо того, чтобы ругнуться на невозможность подключиться к last.fm, и предложить ввести логин и пароль, clementine продолжал бомбардировать прокси запросами, в результате тот и сдавался под напором эдакого нечаянного dos'a.

В цифрах:
Общий объём логфайла сквида составил 365 мегабайт.
Из них запросов к last.fm на 310 мегабайт
Всего 2.998.894 запроса к last.fm со статусом TCP_DENIED.

Считая, что работал clementine без перерыва с 10 утра до приблизительно 15:30, получаем грубо 151 запрос в секунду. Для нашей маленькой прокси (виртуалка с выделением 1Ггц и 1Гб ОЗУ) — это много.

Ссылка на запощенный багрепорт.

Мораль — не доверяйте настройкам по умолчанию :)

+14
548 1
Comments 7
Top of the day