Jump to content
Калькуляторы

Необходимо вычислять тенденции загрузки трафика. У нас математики есть?

Необходимо вычислять тенденции загрузки трафика. Необходимо получать некий тренд - куда движимся, вверх/вниз, процент точности. Расчет каждые 10 минут.

Никто не сталкивался с подобным?

Может у кого есть примеры на bash/perl/php/etc ?

Share this post


Link to post
Share on other sites

Необходимо вычислять тенденции загрузки трафика. Необходимо получать некий тренд - куда движимся, вверх/вниз, процент точности. Расчет каждые 10 минут.

Никто не сталкивался с подобным?

Может у кого есть примеры на bash/perl/php/etc ?

 

rrdtool умеет, буквально на первой странице гуглового запроса "rrdtool trend" есть пара-тройка внятных решений.

Share this post


Link to post
Share on other sites

rrdtool умеет, буквально на первой странице гуглового запроса "rrdtool trend" есть пара-тройка внятных решений.

Не то, оно графики строит, причем достаточно примитивные, а надо решения принимать.

Share this post


Link to post
Share on other sites

rrdtool умеет, буквально на первой странице гуглового запроса "rrdtool trend" есть пара-тройка внятных решений.

Не то, оно графики строит, причем достаточно примитивные, а надо решения принимать.

Решение не подскажу, т.к., видимо, задача из серии хотелок странного, раз не хватает статистики за предыдущие дни. Но теперь очень любопытны детали самой задачи - вдруг нам тоже надо? :)

Share this post


Link to post
Share on other sites

Ну хммм ... у меня именно такое образование, не думал, что кому-то нужно будет. За каждые 10 минут - практически не реально.

Share this post


Link to post
Share on other sites

ТАУ :)

Можете самостоятельно поштудировать, к примеру http://rutracker.org/forum/viewtopic.php?t=524106

IMHO За 10 минут можно - просто вопрос в девиациях, размере кванта времени получения данных, ну и конечно прогноз будет относительно краткосрочный, тоже и т.п.

Share this post


Link to post
Share on other sites

Необходимо вычислять тенденции загрузки трафика. Необходимо получать некий тренд - куда движмся, вверх/вниз, процент точности.

Насчёт процента точности не скажу, но "тренд - куда движмся, вверх/вниз" - это похоже на производную, скорость изменения функции. Школьное определение - "предел отношения приращения функции к приращению её аргумента", в нашем случае - просто смотрите разницу загрузки трафика (ширина канала, "скорость") за определённый период и делите на этот временной период, т.е фактически вторая производная от "скорости" канала. А дальше - что фантазия захочет. Хотите - моментальное значение производной в определённой точке, усреднённую за период, логарифмы и прочие фокусы. Можно и вторые производные строить - это уже ускорение.

Edited by MATPOC

Share this post


Link to post
Share on other sites

rrdtool не только графики строит, ее основное предназначение - работать с round-robin database, где удобно хранить циклически обновляемые данные, как то загрузка интерфейсов. rrdtool можно вызывать и из bash, и через готовый интерфейс в perl или php. В rrdcrete есть специальная функция для подобных предсказаний - HWPREDICT, она работает на основе методики экспоненциального сглаживания. Можете почитать в мане если есть желание.

 

ЗЫ: Не зная вашей задачи не могу предложить готового решения. Из схожей области из готового могу вспомнить cacti плагин thold (от англ. threshold - порог). Этот плагин может слать письма если наблюдаемая величина перешла установленный порог. В числе типов расчета пороговой величины там есть т.н. "Baseline Deviation", что представляет из себя вычисление отклонения от среднего значения за заданный период. Длительность заданных периодов можно выбрать из трех значений - 30 мин., 2 часа и 1 день.

Share this post


Link to post
Share on other sites

А смысл в чем ? ну допустим достали тетрадь из института, нашли нужный методик, по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 утра (на домашних пользователях). Все остальное вероятность.

Share this post


Link to post
Share on other sites

А смысл в чем ?

 

хотя бы в том, чтобы узнавать обо всем, что вы написали об отклонениях от прогнозируемого значения трафика, не от пользователей и не из счета от аплинка.

Share this post


Link to post
Share on other sites

А смысл в чем ?

 

хотя бы в том, чтобы узнавать обо всем, что вы написали об отклонениях от прогнозируемого значения трафика, не от пользователей и не из счета от аплинка.

Для этого не нужно производные рисовать каждые 10 минут - достаточно посмотреть историю.

Share this post


Link to post
Share on other sites

Ну для таких целей график в какти достаточно информативен... Самое страшное, что понадобилось - считать соотношение входа к выходу (есть у нас "странный" аплинк) ну таки график и строится по цифирькам посчитанным скриптом по SNMP счетчикам. Средне дневное-месячное. 2 графика более чем достаточны для оценки. Но было разок, что соотношение ехало - ехало вверх, и оп, пятница вечер, 30 число и соотношение резко поехало к низу. Ну, в общем не успело оно уехать ниже требуемого до конца месяца, но все расчеты-тренды пошли бы лесом ибо вплоть до часа Х соотношение росло.

 

А для оценки "ненормально" достаточно посчитать среднее за час раз в час за неделю и потом сравнивать с эталоном.

Share this post


Link to post
Share on other sites

Да в общем-то это - довольно сложные вычисления, причем сложные именно в плане учета всех факторов - многие из которых невозможно выразить в численном виде (к примеру, как в численном виде выразить наступление каникул, либо дождливую погоду? а эти факторы весьма сильно влияют на трафик). Можно, конечно, привязываться ко кол-ву абонов онлайн, скорости роста онлайна (да-да, когда дождь загоняет 500 абонов в интернеты с улицы - это совершенно не то же, что сидящие постоянно перед компом 500 абонов), но в общем - задача весьма и весьма нетривиальная.

 

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

Share this post


Link to post
Share on other sites

rrdtool умеет намного больше тупого постороения графиков, там даже механизмы предсказания есть. Так что имеет смысл углубиться в документацию.

Share this post


Link to post
Share on other sites

Сейчас используем собственные "колхозные" механизмы для того чтобы увеличивать скорость абонентам, когда высвобождается канал. Алгоритм простой - опустился канал ниже некого предела, инкрементируем коэффициент форсера, через некоторое время опять упал ниже, инкрементируем еще раз, и так до того пока хомячки не получат 100 мбит. Днем - обратный процесс.

Так вот эти пороги выставлены "с запасом", и иной раз видно что уже час хомячки уже могли получить бОльшую скорость, ан нет, алгоритм "перестраховывается".

Хотелось применить какой-то более математический/статистический подход.

 

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

Share this post


Link to post
Share on other sites

Сейчас используем собственные "колхозные" механизмы для того чтобы увеличивать скорость абонентам, когда высвобождается канал. Алгоритм простой - опустился канал ниже некого предела, инкрементируем коэффициент форсера, через некоторое время опять упал ниже, инкрементируем еще раз, и так до того пока хомячки не получат 100 мбит. Днем - обратный процесс.

Так вот эти пороги выставлены "с запасом", и иной раз видно что уже час хомячки уже могли получить бОльшую скорость, ан нет, алгоритм "перестраховывается".

Хотелось применить какой-то более математический/статистический подход.

 

 

ну именно так мы тоже делали. Считался %% загрузки каналов и от ТЕКУЩЕГО %% или чуть увеличивалась полоса или чуть уменьшалась. А предсказания, это к Ванге со товарищи :) А у нас то Аннушка с маслом, то Господь располагает, то еще какой факап :/

Share this post


Link to post
Share on other sites

Для этого не нужно производные рисовать каждые 10 минут - достаточно посмотреть историю.

Ну для таких целей график в какти достаточно информативен...

 

представляю сидит такой ТС весь день подпирая ладошкой щеку и смотрит в график какти, а как случись чего так сразу скорость абонам меняет :)

 

Предсказать трафик на 10-30 минут вперед более чем реально, соответственно и отдектировать аномалию типа проблем у аплинка, флуда, дождя и т.п. тоже.

Share this post


Link to post
Share on other sites

Для этого не нужно производные рисовать каждые 10 минут - достаточно посмотреть историю.

Ну для таких целей график в какти достаточно информативен...

 

представляю сидит такой ТС весь день подпирая ладошкой щеку и смотрит в график какти, а как случись чего так сразу скорость абонам меняет :)

Почему сразу руками?

Усредняет значение за прошлые рабочие 7 дней в это время, сравнивает с текущим, задаёт пороговые отклонения, принимает решение - всё скриптами.

Share this post


Link to post
Share on other sites

У меня есть один простой вопрос

 

А зачем надо менять абонентам скоростные условия в зависимости от состояния аплинка?

Share this post


Link to post
Share on other sites

У меня тоже возник этот вопрос. Это ж задолбаешься абонам объяснять тарифную сетку и почему вчера у него было 100 мегабит, а сегодня только тарифная скорость.

Share this post


Link to post
Share on other sites

У меня тоже возник этот вопрос. Это ж задолбаешься абонам объяснять тарифную сетку и почему вчера у него было 100 мегабит, а сегодня только тарифная скорость.

Чего там объяснять?

- У вас тариф какой? 10?

- Да

- Видите сколько?

- 10

- На что жалуетесь?

- Вчера было 20

 

?

Share this post


Link to post
Share on other sites

В теории оно так. На практике начинается шквал звонков "А вчера было лучше". Большинству пофиг на цифры - они видят что вчера было хорошо, а сегодня хуже.

Share this post


Link to post
Share on other sites

В теории оно так. На практике начинается шквал звонков "А вчера было лучше". Большинству пофиг на цифры - они видят что вчера было хорошо, а сегодня хуже.

И на практике оно так.

Неоднократно отключали все шейпинги/полисинги на несколько дней, а потом включали - ни одной жалобы не услышал. Было пару спасиб от тех, кто заметил прирост.

Share this post


Link to post
Share on other sites

>Неоднократно отключали все шейпинги/полисинги на несколько дней, а потом включали

 

Можете показать графики таких событий, что происходит с аплинками ?

Share this post


Link to post
Share on other sites

>Неоднократно отключали все шейпинги/полисинги на несколько дней, а потом включали

 

Можете показать графики таких событий, что происходит с аплинками ?

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this