MikroTik time-based bandwidth: different speeds by day and night
Last updated: 11 October 2026
Lines are full in the evening and empty at night. A night boost is an easy extra to sell, and a slightly lower evening limit keeps the busy hours usable. The scheduler changes queue limits at set times.
Before you change a live router: take a backup (how) and turn on Safe Mode in Winbox, so a mistake that locks you out is undone by itself.
First: the right time
The scheduler uses the router's clock. Set the time zone and NTP, or the boost starts at the wrong hour.
A queue for the whole network
/queue simple add name=all-users target=192.168.88.0/24 max-limit=20M/50M20M/50M is upload/download for the whole network. For a fair share inside it, see PCQ.
Change it at night and in the morning
/system scheduler add name=night-boost start-time=00:00:00 interval=1d on-event="/queue simple set [find name=all-users] max-limit=40M/100M"
/system scheduler add name=day-normal start-time=07:00:00 interval=1d on-event="/queue simple set [find name=all-users] max-limit=20M/50M"From midnight to 7:00 the network gets twice the speed. Add a third entry for an evening limit if you need one. Check the entries and the queue:
/system scheduler print
/queue simple print where name=all-usersHotspot user profiles
The same idea changes a hotspot profile's speed, here a profile named plan5:
/system scheduler add name=hs-night start-time=00:00:00 interval=1d on-event="/ip hotspot user profile set [find name=plan5] rate-limit=10M/10M"
/system scheduler add name=hs-day start-time=07:00:00 interval=1d on-event="/ip hotspot user profile set [find name=plan5] rate-limit=5M/5M"A profile change applies to the next login. Users already online keep the speed they logged in with until they log in again. The same is true for PPP profiles and for speeds given by a RADIUS server: the speed is set when the session starts.
After a reboot
If the router restarts at 3:00, the queue starts with the speed saved in its configuration, not the night speed. Add a check at startup that sets the right value for the current hour:
/system script add name=speed-by-hour dont-require-permissions=yes source={
:delay 60s
:if ([:totime [/system clock get time]] < 07:00:00) do={ /queue simple set [find name=all-users] max-limit=40M/100M } else={ /queue simple set [find name=all-users] max-limit=20M/50M }
}
/system scheduler add name=speed-at-boot start-time=startup on-event="/system script run speed-by-hour"It waits a minute for the clock to be set by NTP, compares the time with 07:00 and sets the night or day speed to match.
Selling it
- "Night free": a night boost or no data counting at night makes a cheap package attractive without costing busy-hour capacity.
- Tell customers the hours exactly, and keep them; the scheduler is reliable once the clock is right.
Questions and answers
Can MikroTik give different speeds at different times?
Yes. Use the scheduler to change a queue's max-limit, or a hotspot or PPP profile's rate-limit, at set times.
Why did online users not get the night speed?
Profile and RADIUS speeds are set when a session starts. Users already online keep their speed until they log in again; queue limits change at once.
Does the MikroTik scheduler use local time?
It uses the router's clock and time zone, so set the time zone and NTP first.