Hi Alan, On Tue, Nov 10, 2009 at 5:35 PM, Alan DeKok <[email protected]>wrote:
> Dinh Pham Cong wrote: > > start_servers = 1024 > > max_servers = 3000 > > max_spare_servers = 3000 > > That's a little high. > > 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. 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. > My sql.conf > > > > # number of sql connections to make to server > > num_sql_socks = 1000 > > Remember: 1000 packets/s does *not* mean 1000 threads or 1000 SQL > sockets. The server should be able to do 1000 packets/s with a much > smaller number of threads && sockets. i.e. 50/50. > I thought that num_sql_socks = 1000 meaned that Radiusd would create a connection pool of 1000 MySQL connections. > > I developed a Java client that can create 1000 concurrent threads that > > connect and send accounting requests (start and stop) to Radius server. > > See also "radperf" (http://networkradius.com/radperf.html). It can do > load testing and user login simulations. > > Thanks I will try. > > However, after sending for 20 or 30 seconds, radius server generated a > > lot of error messages and crashed > > > > Error messages > > > > Tue Nov 10 16:14:34 2009 : Error: Discarding duplicate request from > > client tester1 port 41442 - ID: 134 due to unfinished request 2436 > > This is likely because your SQL database is too slow. > > Have you checked to see if the SQL database can handle 1000 inserts/s? > > > Crashed > > > > Nov 10 15:55:35 Mobile6 kernel: radiusd[22242]: segfault at > > 00000000000000c8 rip 0000003daee5306b rsp 00002aae5d82a780 error 4 > > See doc/bugs for instructions on producing useful crash reports. We > can then use these to fix bugs. > > > Nov 10 15:57:29 Mobile6 kernel: radiusd[30941]: segfault at > > 00000000000000c8 rip 0000003daee5306b rsp 00002aaee56de180 error 4 > > Nov 10 16:14:36 Mobile kernel: radiusd[10788]: segfault at > > 00000000000000c8 rip 0000003daee5306b rsp 00002aac913de780 error 4 > > > > What do I need to do to enable FreeRadius server to meet more than 1000 > > accounting request (INSERT AND DELETE) for a second? > > Use a database that can handle 1000 requests/s. > 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. Thanks Dinh
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

