I am making a hotspot with simple queues. Mikrotik says i should spread the customers out on multiple top-level queues, to utilize all cores in the CPU.
So, i do this: (example)
1 Queue1
2 Queue2
3 Queue3
D 4 Dynamic Hotspot-queue
Then, i log on a user, wich uses a user profile with parent queue “queue3” and his own rate-limit from AAA.(insert before first/bottom/queue* does not make any difference…) The queue settings in user profile is NOT mentioned in Mikrotik manual…
Problem is that the user is getting full troughput…he is “captured” and given unlimited bandwith by queue1. ROS is not respecting the parent queue setting, because i can not find any other way to assign a user-group to a specific queue, for multi-core distribution…
When mikrotik says that simple queues support multi-core distribution, and top level queues must be used, what do they actually mean?
Screenshot .
(Different names, but same setup. Here, you see queue number 8 is catching traffic, while the user is child of number 12.)
Untitled.png
Any ideas would be highly appreciated.
Spreading the customers among multiple top level queues doesn’t mean making each customer it’s own separate top level queue.
You still need to have top queues, and put customers as child queues to those. Each top queue must match a particular set of users, and have 1/N-th of your total rate as its limits (where N is the number of top level queues). Then, the child queues will match the specific user and their limit.
To actually separate users, you should assign users to different profiles, and add the child queue to the corresponding top queue depending on the profile.
You can modify the top queues with an on-login script to make sure they include the newly created user’s IP (OR bind every user to an IP, and specify that IP manually in the queue). Otherwise, only the first top queue will match all users.
Thanks for the answer, but i did not get any wiser, i am feeling slow…
What exactly is , and where do i create, this “top” queue? In my screenshot, i believe all bb-* queues are top queues, which all are supposed to handle their own set of children. Children are assigned from AAA into different user profiles.
Then, i have say 10 clients, which will use user-profile bb-rp1. This profile sets client as child of queue bb-rp1.
bb-rp1 queue, will then have 10 children.
Then i do the same for 30 clients, which will use user-profile bb-rp5, who sets bb-rp5 as parent queue.
bb-rp5 queue, will then have 30 children.
You wrote:
To actually separate users, you should assign users to different profiles, and add the child queue to the corresponding top queue depending on the profile.
I believe this is exactly what i am doing, but i might be missing the “real” top-queue somewhere.
If i go with default hotspot settings, and remove all static queues, and keep only hotspots dynamic queue, and clients are put in their own dynamic queue as “normal”, are all these dynamic client queues then top level queues?
Will these (approx 1200) queues distribute over multiple cores?
I can not use mangle, pcq or separate on subnets, since all must be dynamic, and customers have different speeds.
They do share user profiles based on subscription (speed), but i cannot see any way to use profile-relation to match traffic. We cannot manage 1200 queues manually, it must be dynamic.