Барагоз Posted June 6, 2010 Posted June 6, 2010 Здравствуйте. Как известно, простые очереди на микротике отрабатываются по порядку. Когда их по крайней мере несколько десятков, возникает естественное желание с определенной периодичностью выполнять сортировку списка очередей с тем, чтобы наиболее часто используемые очереди оказывались вверху списка. Взялся писать скрипт. Идея была в том, чтобы в цикле находить очередь с максимальным значением total-bytes или total-packets и запихивать mov'ом на нужную позицию. А не тут-то было. Максимум прекрасно ищется, а вот конструкция вида /queue simple move $num 0 как оказалось, работает только после выполнения команды print в терминале. А print в скриптах бессмысслен и не работает. Как это обойти, не приходит в голову. Тупик? Вообще, как-то очень странно, что у элемента, входящего в строгую последовательность, нет никакого свойства, эквивалентного номеру... Вставить ник Quote
martini Posted June 7, 2010 Posted June 7, 2010 ну иак заюзай find, работает без проблем Вставить ник Quote
Барагоз Posted June 7, 2010 Author Posted June 7, 2010 (edited) Юзать find для чего? 'Максимальный элемент' я нахожу, указатель на него есть в num. Если делать в скрипте move без второго аргумента (/queue simple move $num), нужная очередь исправно кидается в конец. Проблема в том, что второй аргумент mov'а (целевая позиция, в данном примере нолик) не воспринимается без предварительного запуска print'а. Edited June 7, 2010 by Барагоз Вставить ник Quote
Ilya Evseev Posted June 7, 2010 Posted June 7, 2010 Если делать в скрипте move без второго аргумента (/queue simple move $num), нужная очередь исправно кидается в конец.Может быть, переносить не более быстрые из середины в начало, а более медленные из начала в конец?Тогда быстрые рано или поздно окажутся первыми. Вставить ник Quote
martini Posted June 7, 2010 Posted June 7, 2010 (edited) не с той стороны посмотрел)), метод который предложил Ilya Evseev работает и у меня (главное такой метод не использовать при большом количестве queue) Edited June 7, 2010 by martini Вставить ник Quote
Ilya Evseev Posted June 7, 2010 Posted June 7, 2010 главное такой метод не использовать при большом количестве queueБольшое количество - это сколько?Хочу попробовать RB/750G шлюзом для поселковой сетки на 300 клиентов и 50mbps, есть сомнение - потянет или нет? Будут nat, acl, netflow, simple queues. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.