I have the same problem with Freebsd + radius and Mysql 5. server hp core 2 duo, 2 gb ram<br><br>we have 1000 connections concurrent... and we have the same error "discarding packet'<br><br>Alan Dekok sayd to me that the problem is the same "slow database"<br>
<br>I'm don't found a solution yet<br><br><br><br><div class="gmail_quote">2009/11/10 Dinh Pham Cong <span dir="ltr"><<a href="mailto:dinhpc@vega.com.vn">dinhpc@vega.com.vn</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi Alan,<br><br><div class="gmail_quote"><div class="im">On Tue, Nov 10, 2009 at 5:35 PM, Alan DeKok <span dir="ltr"><<a href="mailto:aland@deployingradius.com" target="_blank">aland@deployingradius.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div>Dinh Pham Cong wrote:<br>
> start_servers = 1024<br>
> max_servers = 3000<br>
> max_spare_servers = 3000<br>
<br>
</div> That's a little high.<br>
<div><br></div></blockquote></div><div><br>I saw that when 1000 client was created at the same time and send requests to Radius server concurrently there were about 2000+ radiusd threads were created too. I thought that 1000 concurrent client could be translated to more than 1000 packets/s.<br>
<br>I have done another load tests with smaller concurrent clients: 100, 200, 500. However, Radiusd can not handle more than 1000 request/s (total requests/total time used to sent all the requests). For example Radiusd can handle 20 000 request in more than 20 seconds, 40 000 requests in more than 43 seconds.<br>
<br></div><div class="im"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div>
> My sql.conf<br>
><br>
> # number of sql connections to make to server<br>
> num_sql_socks = 1000<br>
<br>
</div> Remember: 1000 packets/s does *not* mean 1000 threads or 1000 SQL<br>
sockets. The server should be able to do 1000 packets/s with a much<br>
smaller number of threads && sockets. i.e. 50/50.<br></blockquote></div><div><br>I thought that num_sql_socks = 1000 meaned that Radiusd would create a connection pool of 1000 MySQL connections. <br><br></div><div class="im">
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><br>
> I developed a Java client that can create 1000 concurrent threads that<br>
> connect and send accounting requests (start and stop) to Radius server.<br>
<br>
</div> See also "radperf" (<a href="http://networkradius.com/radperf.html" target="_blank">http://networkradius.com/radperf.html</a>). It can do<br>
load testing and user login simulations.<br>
<div><br></div></blockquote></div><div><br>Thanks I will try.<br> <br></div><div class="im"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div>
> However, after sending for 20 or 30 seconds, radius server generated a<br>
> lot of error messages and crashed<br>
><br>
> Error messages<br>
><br>
> Tue Nov 10 16:14:34 2009 : Error: Discarding duplicate request from<br>
> client tester1 port 41442 - ID: 134 due to unfinished request 2436<br>
<br>
</div> This is likely because your SQL database is too slow.<br>
<br>
Have you checked to see if the SQL database can handle 1000 inserts/s?<br>
<div><br>
> Crashed<br>
><br>
> Nov 10 15:55:35 Mobile6 kernel: radiusd[22242]: segfault at<br>
> 00000000000000c8 rip 0000003daee5306b rsp 00002aae5d82a780 error 4<br>
<br>
</div> See doc/bugs for instructions on producing useful crash reports. We<br>
can then use these to fix bugs.<br>
<div><br>
> Nov 10 15:57:29 Mobile6 kernel: radiusd[30941]: segfault at<br>
> 00000000000000c8 rip 0000003daee5306b rsp 00002aaee56de180 error 4<br>
> Nov 10 16:14:36 Mobile kernel: radiusd[10788]: segfault at<br>
> 00000000000000c8 rip 0000003daee5306b rsp 00002aac913de780 error 4<br>
><br>
> What do I need to do to enable FreeRadius server to meet more than 1000<br>
> accounting request (INSERT AND DELETE) for a second?<br>
<br>
</div> Use a database that can handle 1000 requests/s.<br></blockquote></div><div><br>I have done separate load tests of INSERT and DELETE on radacct table (using MEMORY engine) and found that MySQL 5.0 can handle about 6000 - 8700 qps. I have used mysqlslap to do that.<br>
<br></div><br></div>Thanks<br><font color="#888888"><br>Dinh<br>
</font><br>-<br>
List info/subscribe/unsubscribe? See <a href="http://www.freeradius.org/list/users.html" target="_blank">http://www.freeradius.org/list/users.html</a><br></blockquote></div><br><br clear="all"><br>-- <br>Att.<br>Alisson F. Gonçalves<br>
Sistemas de Informação - UFGD<br>