Is the Mikrotik RouterOS on RouterBoards using a tickless (realtime) kernel?
Is the Mikrotik RouterOS on x86 using a tickless (realtime) kernel?
I know a lot of high-performance, low-latency products are starting to use a tickless kernel and wondering if Mikrotik would benefit in a major way in performance? Maybe a kernel image I can test for results?
I only meant realtime, not tickless. Are there any plans or what would be the performance benefit of a realtime kernel in Mikrotik (if it’s not already there?) ?
I’m trying to implement some kind of trigger system for events in Mikrotik such as login via winbox,webbox,ssh, etc.. and ppp user login, as well as some dhcp server lease events.
I have a fairly simple script that stays running in a while loop and checks logs for login and dhcp lease activity and ppp active sessions then runs a script using :execute when a particular event happens. This is very bad practice, and not at all what programmers should be doing, but it’s the only way I came up with to run scripts on events. I could use multiple schedules, but that is inefficient as each schedule is slightly offset; using my method I have a fairly timing from when event happens and when the specified script gets executed.
My problem is that with the loop at 7 secs apart the cpu reaches 60 - 80% average load (normally 5 - 10%). I was thinking if this trigger script could be prioritized higher, maybe it would take some load off the cpu (as this would be the “controller” script to fire off other scripts).
I just hate doing things in loops, native triggering is much more efficient and scripts don’t get run until there is an event.
What kind of actions do you want to fire on the triggers, and how close to real time does it have to be?
Remote syslog being parsed by the remote server in real-time and firing API actions would very most likely be within 1-2 second resolution, and would be very reliable if on a reliable link.
I hadn’t though of that, I was thinking more locally on the router itself.
So I could possibly use a local Dude server running on the router itself if I can “catch” a regex in the logs and run a “ros_command” as a notification?
well, realtime kernels are for something else… it’s kernel with predictive (and determined) time of reaction on some events (interrupts, etc.). it’s important in embedded measurement/monitoring systems, and it has nothing to do with scripting ))
I meant to indicate that I’m able to process login records within a second of the event occurring, which is close enough to real-time for my purposes. It’s definitely not real-time from a kernel perspective, or has anything to do with the kernel. Maybe that’s close enough for dssmiktik, too.
I’m aware what a real-time OS is. I’m not using the term ‘real-time’ in any technical way, I’m using it in the meaning of taking an action so reasonably close to an event that from a business need perspective the response is immediate. Responding to SSH or PPTP logins, or DHCP leases on a third party system not directly connected to providing the actual service can usually be solved by using that definition.
Thanks. I think that will work for what I’m trying to accomplish. I just need a way to react to log entries as they are logged without continuously looping and “waiting” for a specific entry to appear.
Chupaka,
I’ve heard of realtime kernels and just got to thinking about mikrotik and if it would improve on performance with being able to handle more pps or that continuous looping script I was doing. I haven’t read up on real-time kernels awhole lot just wondering if routeros could benefit from it.