ThreeDHead Posted February 6, 2013 Необходимо вычислять тенденции загрузки трафика. Необходимо получать некий тренд - куда движимся, вверх/вниз, процент точности. Расчет каждые 10 минут. Никто не сталкивался с подобным? Может у кого есть примеры на bash/perl/php/etc ? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
MATPOC Posted February 6, 2013 Необходимо вычислять тенденции загрузки трафика. Необходимо получать некий тренд - куда движимся, вверх/вниз, процент точности. Расчет каждые 10 минут. Никто не сталкивался с подобным? Может у кого есть примеры на bash/perl/php/etc ? rrdtool умеет, буквально на первой странице гуглового запроса "rrdtool trend" есть пара-тройка внятных решений. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ThreeDHead Posted February 7, 2013 rrdtool умеет, буквально на первой странице гуглового запроса "rrdtool trend" есть пара-тройка внятных решений. Не то, оно графики строит, причем достаточно примитивные, а надо решения принимать. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
kapa Posted February 7, 2013 rrdtool умеет, буквально на первой странице гуглового запроса "rrdtool trend" есть пара-тройка внятных решений. Не то, оно графики строит, причем достаточно примитивные, а надо решения принимать. Решение не подскажу, т.к., видимо, задача из серии хотелок странного, раз не хватает статистики за предыдущие дни. Но теперь очень любопытны детали самой задачи - вдруг нам тоже надо? :) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Dm1try Posted February 7, 2013 Ну хммм ... у меня именно такое образование, не думал, что кому-то нужно будет. За каждые 10 минут - практически не реально. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
nuclearcat Posted February 7, 2013 ТАУ :) Можете самостоятельно поштудировать, к примеру http://rutracker.org/forum/viewtopic.php?t=524106 IMHO За 10 минут можно - просто вопрос в девиациях, размере кванта времени получения данных, ну и конечно прогноз будет относительно краткосрочный, тоже и т.п. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
MATPOC Posted February 7, 2013 (edited) Необходимо вычислять тенденции загрузки трафика. Необходимо получать некий тренд - куда движмся, вверх/вниз, процент точности. Насчёт процента точности не скажу, но "тренд - куда движмся, вверх/вниз" - это похоже на производную, скорость изменения функции. Школьное определение - "предел отношения приращения функции к приращению её аргумента", в нашем случае - просто смотрите разницу загрузки трафика (ширина канала, "скорость") за определённый период и делите на этот временной период, т.е фактически вторая производная от "скорости" канала. А дальше - что фантазия захочет. Хотите - моментальное значение производной в определённой точке, усреднённую за период, логарифмы и прочие фокусы. Можно и вторые производные строить - это уже ускорение. Edited February 7, 2013 by MATPOC Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
agr Posted February 7, 2013 rrdtool не только графики строит, ее основное предназначение - работать с round-robin database, где удобно хранить циклически обновляемые данные, как то загрузка интерфейсов. rrdtool можно вызывать и из bash, и через готовый интерфейс в perl или php. В rrdcrete есть специальная функция для подобных предсказаний - HWPREDICT, она работает на основе методики экспоненциального сглаживания. Можете почитать в мане если есть желание. ЗЫ: Не зная вашей задачи не могу предложить готового решения. Из схожей области из готового могу вспомнить cacti плагин thold (от англ. threshold - порог). Этот плагин может слать письма если наблюдаемая величина перешла установленный порог. В числе типов расчета пороговой величины там есть т.н. "Baseline Deviation", что представляет из себя вычисление отклонения от среднего значения за заданный период. Длительность заданных периодов можно выбрать из трех значений - 30 мин., 2 часа и 1 день. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
st_re Posted February 7, 2013 А смысл в чем ? ну допустим достали тетрадь из института, нашли нужный методик, поcчитали мы тренд, что потребляем 1, 1.2, 1.2, 1.3, 1.4,1.5,1.6, 1.7.1.8,1.9 Gb/s И ? Следующий по нашему тренду будет 2.0.. А вот и хренушки, тут ботовод включил свой бот и 5% юзеров ломанулись ддосить сайт в инете и вылезло 5.7 ? Или обвалился линк к вконтакту и стало 0.7 (или даже хуже, этот трафик сполз на другой канал). И куда потом запхать все эти расчеты ? а глобально и так понятно, что в 9 вечера трафика в 5-10 раз больше, чем в 4 утра (на домашних пользователях). Все остальное вероятность. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
agr Posted February 7, 2013 А смысл в чем ? хотя бы в том, чтобы узнавать обо всем, что вы написали об отклонениях от прогнозируемого значения трафика, не от пользователей и не из счета от аплинка. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
kapa Posted February 7, 2013 А смысл в чем ? хотя бы в том, чтобы узнавать обо всем, что вы написали об отклонениях от прогнозируемого значения трафика, не от пользователей и не из счета от аплинка. Для этого не нужно производные рисовать каждые 10 минут - достаточно посмотреть историю. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
st_re Posted February 7, 2013 Ну для таких целей график в какти достаточно информативен... Самое страшное, что понадобилось - считать соотношение входа к выходу (есть у нас "странный" аплинк) ну таки график и строится по цифирькам посчитанным скриптом по SNMP счетчикам. Средне дневное-месячное. 2 графика более чем достаточны для оценки. Но было разок, что соотношение ехало - ехало вверх, и оп, пятница вечер, 30 число и соотношение резко поехало к низу. Ну, в общем не успело оно уехать ниже требуемого до конца месяца, но все расчеты-тренды пошли бы лесом ибо вплоть до часа Х соотношение росло. А для оценки "ненормально" достаточно посчитать среднее за час раз в час за неделю и потом сравнивать с эталоном. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
NiTr0 Posted February 7, 2013 Да в общем-то это - довольно сложные вычисления, причем сложные именно в плане учета всех факторов - многие из которых невозможно выразить в численном виде (к примеру, как в численном виде выразить наступление каникул, либо дождливую погоду? а эти факторы весьма сильно влияют на трафик). Можно, конечно, привязываться ко кол-ву абонов онлайн, скорости роста онлайна (да-да, когда дождь загоняет 500 абонов в интернеты с улицы - это совершенно не то же, что сидящие постоянно перед компом 500 абонов), но в общем - задача весьма и весьма нетривиальная. Наиболее простой вариант - привязываться к усредненному потреблению трафика абонентом (и в мегабитах, и в мегабайтах в месяц), сравнивать потребление за идентичные периоды разных годов и т.п. Ессно - для долгосрочного прогноза, краткосрочно - сложно для сети, сосредоточенной в одном городе и с относительно малым кол-вом абонов... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
sexst Posted February 7, 2013 rrdtool умеет намного больше тупого постороения графиков, там даже механизмы предсказания есть. Так что имеет смысл углубиться в документацию. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ThreeDHead Posted February 8, 2013 Сейчас используем собственные "колхозные" механизмы для того чтобы увеличивать скорость абонентам, когда высвобождается канал. Алгоритм простой - опустился канал ниже некого предела, инкрементируем коэффициент форсера, через некоторое время опять упал ниже, инкрементируем еще раз, и так до того пока хомячки не получат 100 мбит. Днем - обратный процесс. Так вот эти пороги выставлены "с запасом", и иной раз видно что уже час хомячки уже могли получить бОльшую скорость, ан нет, алгоритм "перестраховывается". Хотелось применить какой-то более математический/статистический подход. Почитав ваши сообщения, уже подумываю действительно сохранять всю историю и опираться именно на неё. Праздники и выходные отдельно отмечены чтобы были, первые числа от остальных тоже. Показания в истории сгладить, и считать её основой для расчетов. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
st_re Posted February 8, 2013 Сейчас используем собственные "колхозные" механизмы для того чтобы увеличивать скорость абонентам, когда высвобождается канал. Алгоритм простой - опустился канал ниже некого предела, инкрементируем коэффициент форсера, через некоторое время опять упал ниже, инкрементируем еще раз, и так до того пока хомячки не получат 100 мбит. Днем - обратный процесс. Так вот эти пороги выставлены "с запасом", и иной раз видно что уже час хомячки уже могли получить бОльшую скорость, ан нет, алгоритм "перестраховывается". Хотелось применить какой-то более математический/статистический подход. ну именно так мы тоже делали. Считался %% загрузки каналов и от ТЕКУЩЕГО %% или чуть увеличивалась полоса или чуть уменьшалась. А предсказания, это к Ванге со товарищи :) А у нас то Аннушка с маслом, то Господь располагает, то еще какой факап :/ Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
agr Posted February 8, 2013 Для этого не нужно производные рисовать каждые 10 минут - достаточно посмотреть историю. Ну для таких целей график в какти достаточно информативен... представляю сидит такой ТС весь день подпирая ладошкой щеку и смотрит в график какти, а как случись чего так сразу скорость абонам меняет :) Предсказать трафик на 10-30 минут вперед более чем реально, соответственно и отдектировать аномалию типа проблем у аплинка, флуда, дождя и т.п. тоже. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
kapa Posted February 8, 2013 Для этого не нужно производные рисовать каждые 10 минут - достаточно посмотреть историю. Ну для таких целей график в какти достаточно информативен... представляю сидит такой ТС весь день подпирая ладошкой щеку и смотрит в график какти, а как случись чего так сразу скорость абонам меняет :) Почему сразу руками? Усредняет значение за прошлые рабочие 7 дней в это время, сравнивает с текущим, задаёт пороговые отклонения, принимает решение - всё скриптами. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
replicant Posted February 8, 2013 У меня есть один простой вопрос А зачем надо менять абонентам скоростные условия в зависимости от состояния аплинка? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
sexst Posted February 8, 2013 У меня тоже возник этот вопрос. Это ж задолбаешься абонам объяснять тарифную сетку и почему вчера у него было 100 мегабит, а сегодня только тарифная скорость. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
kapa Posted February 8, 2013 У меня тоже возник этот вопрос. Это ж задолбаешься абонам объяснять тарифную сетку и почему вчера у него было 100 мегабит, а сегодня только тарифная скорость. Чего там объяснять? - У вас тариф какой? 10? - Да - Видите сколько? - 10 - На что жалуетесь? - Вчера было 20 ? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
sexst Posted February 8, 2013 В теории оно так. На практике начинается шквал звонков "А вчера было лучше". Большинству пофиг на цифры - они видят что вчера было хорошо, а сегодня хуже. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
kapa Posted February 8, 2013 В теории оно так. На практике начинается шквал звонков "А вчера было лучше". Большинству пофиг на цифры - они видят что вчера было хорошо, а сегодня хуже. И на практике оно так. Неоднократно отключали все шейпинги/полисинги на несколько дней, а потом включали - ни одной жалобы не услышал. Было пару спасиб от тех, кто заметил прирост. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan Rostovikov Posted February 8, 2013 >Неоднократно отключали все шейпинги/полисинги на несколько дней, а потом включали Можете показать графики таких событий, что происходит с аплинками ? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
kapa Posted February 8, 2013 >Неоднократно отключали все шейпинги/полисинги на несколько дней, а потом включали Можете показать графики таких событий, что происходит с аплинками ? Долго искать - графики при отключении ненадолго немного подрастают, а потом опускаются немного ниже среднего - видимо, торренты разгоняются, быстро всё докачивают и начинают простаивать. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...