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

шейпер и мультикоре процессор разрулить задачу на разные ядра

На линукс роутере NAT + 1500 правил cbq, по нарезке трафика юзерам,

стоит 3Ггц пень 4, до недавнего времени спарвлялся, встала необходимость нарастить мощность,

поставить второй роутер нет возможности, поэтому только апгрейд старого.

Узкое место cbq, пожирает проц до 100%

Заапгрейдил на Intel Q9650 Core2 Quad 3Ггц, огарчён тем, что сходу проблему это не решило,

производительность выросла примерно на 5-10%

cbq - убивает проц напроч, вырубаю шейпер, роутер сразу 1 гиг рулит, врубаю производительность падает до 150-200 мег и загрузка проца 100%

старый роутер стокаже рулит.

как я понимаю cbq просто юзает 1 ядро проца,

встал вопрос как его заставить работать на всех ядрах??

 

Share this post


Link to post
Share on other sites

Современные ядра и драйверы позволяют разводить прерывания (softirq) по разным процессорам.

Edited by Ivan Rostovikov

Share this post


Link to post
Share on other sites

интересная картина P4-3Ghz, Core 2 duo E8400, Q9650 Core2 Quad

выдают примерно одинаковые результаты + - совсем небольшой

часам к 6 вечера нагрузка на проц вырастает до 100% и включаются тормоза

переконфигурял cbq, удалось уменьшить количество правил до 1200, роутер отпустило,

 

CPU0 CPU1

0: 126 0 IO-APIC-edge timer

1: 59 57 IO-APIC-edge i8042

6: 1 1 IO-APIC-edge floppy

8: 1 0 IO-APIC-edge rtc

9: 0 0 IO-APIC-fasteoi acpi

12: 2 2 IO-APIC-edge i8042

14: 0 0 IO-APIC-edge ide0

15: 0 0 IO-APIC-edge ide1

16: 991550296 991303051 IO-APIC-fasteoi eth1, eth3

17: 548051287 548271742 IO-APIC-fasteoi eth2, eth4

20: 432760167 432789055 IO-APIC-fasteoi eth0

21: 1010774 1008680 IO-APIC-fasteoi ahci

NMI: 0 0 Non-maskable interrupts

LOC: 482523625 482523551 Local timer interrupts

RES: 14295 13866 Rescheduling interrupts

CAL: 61 69 Function call interrupts

TLB: 12921 12947 TLB shootdowns

TRM: 0 0 Thermal event interrupts

SPU: 0 0 Spurious interrupts

ERR: 0

MIS: 0

 

Share this post


Link to post
Share on other sites

Фильтры у вас небось на u32, и линейно... мультикорность врядли тут поможет

Share this post


Link to post
Share on other sites
Фильтры у вас небось на u32, и линейно... мультикорность врядли тут поможет
А что более ресурсоемко? - u32 или линейность фильтров?

Если u32, но что менять? - На фвмарки и в бинарное дерево их строить? А если у меня pppoe?

Share this post


Link to post
Share on other sites

Фильтры у вас небось на u32, и линейно... мультикорность врядли тут поможет

А что посоветуешь для ограничения скорости? Чисто шейпер, без класификатора и приотизации....Так как проблема действительно острая :( ?

Share this post


Link to post
Share on other sites

Не кажется ли вам что проще использовать tbf, гораздо производительнее htb.

И в самый раз для тупого ограничения скорости на интерфейсе (ppp).

 

У себя использую фактически не заметно использование.

Share this post


Link to post
Share on other sites
Не кажется ли вам что проще использовать tbf, гораздо производительнее htb.

И в самый раз для тупого ограничения скорости на интерфейсе (ppp).

 

У себя использую фактически не заметно использование.

В том и дело, я же писал пример моего шейпера...

У меня один интерфейс eth0, на котором нужно резать скорость многим клиентам.... Согласен ТБФ очень выгоден если надо просто резать общую скорость на интерфейсе....

Edited by V@No

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