Radiator 10 is our next generation RADIUS/TACACS+/AAA server software. Its development started with the idea to modernize not only our existing Radiator products, but to modernize RADIUS/TACACS+/AAA servers in general. This is the first in a series of blog posts about how we did it.

The performance and scalability was one of the things we set to modernize. We evaluated a few languages to be used to develop Radiator 10 and decided to go with Rust. Rust gave us a strong foundation for building a RADIUS server that scales from embedded network devices to carrier-grade deployments. It helped us keep CPU, memory, and storage requirements low, while still delivering high throughput, low latency, and high concurrency.

Features such as safe multi-threading, efficient memory use, and predictable performance were especially important for handling demanding authentication and accounting workloads. Rust also supported secure development by making memory safety, safe concurrency, and robust coding practices part of the normal development process. Advisories, recommendations and guidelines from cybersecurity organisations such as CISA, ENISA, FBI, NSA as well as regulations such as EU’s CRA drive the need for products implemented this way even further.

There is a Finnish saying, “Hyvää yritetään, mutta priimaa pukkaa” which roughly translated is “Aiming for good, but bringing our best.” We were ourselves surprised by the performance we achieved with Radiator 10. We then made the first public performance test case about EAP-TLS authentication using RADIUS and RadSec (RADIUS over TLS) here: https://radiatorsoftware.com/radiator-10-performance-eap-tls/

That was a year ago. Since then we have combined our more than 25 years of RADIUS domain expertise with LLM assisted development and improved Radiator 10 and its performance and testing even further.

It is not only EAP we have been focusing on. These are the latest performance tests based on the fixed line use cases and also demonstrating the current performance of our upcoming RadiatorDB database solution to be used as a high-performance backend for authentication and accounting. As you can see from the results, Radiator 10 performs well even in environments with limited resources as the memory footprint and CPU requirements of the Radiator process are relatively low compared to the performance. The used backends, which in this example is RadiatorDB, require more resources than Radiator itself.

These tests were run with three 4 CPU core (AMD EPYC 9354 32-Core Processor) / 8GB RAM Proxmox LXC containers, one LXC container for Radiator 10 and two for replicated RadiatorDB database. The Proxmox was not dedicated to running these tests so performance on a dedicated setup would be even better. Find the full report and description of the tests from this report: