RE: Have anyone test the performance about FreeRADIUS+jRadius on authentication?
Thanks for Alan's quick and kindly reply! Yes, I'm under this slow performance trouble now.... Actually I tried let it not going into jradius and completing my easy job only in FreeRADIUS yesterday. And it did it well. It can finish 10000 auth request in 13 sec. However, our goal is more than that ... the brief situation is that user will be redirected to our captive portal during pre-auth if they got IP address, then doing UAM authentication by web portal to our policy manager server(built in FreeRADIUS+JRadius). We'll do some policy based control with our WiFi gateway like CoA request. Then would do subscribers' accounting processing(identify some attributes in accounting packet then modify its value then send to backend acct server). So supposed I stop using jradius, what kinds of module would you recommend me to fulfill these jobs such as that? Or actually FreeRADIUS can satisfy it by itself? Can it send CoA request to WiFi gateway after receiving some predefined attribute value with web portal while it sending access request to FreeRADIUS? I plan to make it become a policy manager. Cheers, Okis ------------------------------------------------------- Chuang Okis wrote:
Have anyone test the performance about FreeRADIUS+jRadius on authentication?
Not me.
The test was just for authentication load test from gateway to radius server. My jradius handler would just do some easy string splitng for one VSA.
Use Perl. It's integrated into the server, and should be much faster. Or, use a regex. See "man unlang". Or, write a C module to do it.
Does this be the most probable factor causing the slow processing? Even through I doubt it...
Yes. It's jradius.
Then I did some interesting test later... I left my handler empty but still let traffic get into jradius handler through rlm_jradius by TCP socket. The result has improved a bit even though not at our level of acceptance..
Its TPS (Transaction Per Seconds) improved from 30 to 300 approximately.
300 is still MUCH slower than 10,000.
Hence, I'm guessing the bottleneck may be the process of rlm_jradius communication. Does anyone get any help or recommendation?? Or any other performance tuning tips I can do?
Don't use jradius. It's very slow. Use pretty much anything else. Alan DeKok. ------------------------------
On Wed, Apr 24, 2013 at 9:34 AM, Okis Chuang <okischuang@outlook.com> wrote:
Thanks for Alan's quick and kindly reply!
Yes, I'm under this slow performance trouble now.... Actually I tried let it not going into jradius and completing my easy job only in FreeRADIUS yesterday. And it did it well. It can finish 10000 auth request in 13 sec.
However, our goal is more than that ... the brief situation is that user will be redirected to our captive portal during pre-auth if they got IP address, then doing UAM authentication by web portal to our policy manager server(built in FreeRADIUS+JRadius).
Since you seem to have some specific requirement, I'd recommend you engage with someone with experience in freeradius implementation and integration in your area. Most people here won't have the time to go thru your detailed request one-by-one and designing a best solution for you. Remember, those who contribute on this list do so on their free time, out of their good will. Some comments though
Then would do subscribers' accounting processing(identify some attributes in accounting packet then modify its value then send to backend acct server).
FR has all sorts of module that can modify radius packets on proxy scenarios. Unlang is perfect for simple and static rules (e.g. "add attribute X with value Y to every packet") while for complex rules (e.g. get value of attribute X, lookup value in db, then create attribute Y based on that value) mod_perl is probably more suitable.
Can it send CoA request to WiFi gateway after receiving some predefined attribute value with web portal while it sending access request to FreeRADIUS?
Try reading raddb/sites-available/originate-coa -- Fajar
Okis Chuang wrote:
Yes, I'm under this slow performance trouble now.... Actually I tried let it not going into jradius and completing my easy job only in FreeRADIUS yesterday. And it did it well. It can finish 10000 auth request in 13 sec.
Exactly.
However, our goal is more than that ... the brief situation is that user will be redirected to our captive portal during pre-auth if they got IP address, then doing UAM authentication by web portal to our policy manager server(built in FreeRADIUS+JRadius).
If your requirement is more than 30 authentications per second, then you can't do a java policy manager. Java is nice for some things. It's *not* the right choice for fast network traffic.
We'll do some policy based control with our WiFi gateway like CoA request. Then would do subscribers' accounting processing(identify some attributes in accounting packet then modify its value then send to backend acct server).
The server can originate CoA packets. See Fajar's message.
So supposed I stop using jradius, what kinds of module would you recommend me to fulfill these jobs such as that?
It depends on what you want to do.
Or actually FreeRADIUS can satisfy it by itself? Can it send CoA request to WiFi gateway after receiving some predefined attribute value with web portal while it sending access request to FreeRADIUS? I plan to make it become a policy manager.
FreeRADIUS *is* a policy manager. That's what it does. Alan DeKok.
participants (3)
-
Alan DeKok -
Fajar A. Nugraha -
Okis Chuang