修改freeradius与mysql连接时的最大连接数

来源:互联网 发布:佳驰软件怎么样 编辑:程序博客网 时间:2024/05/02 17:19

         现在用freeradius+mysql来实现PPPoE的验证,有时会发生一台楼宇交换机掉电的情况,这时会一下子有上百个下线和上线的记录(掉电后立即又有电了),这时可能freeradius可能就会招架不住了。因为默认与mysql连接的socket是256个,sql.conf中设置一超过256 freeradius 就无法启动。(用radiusd -x才知道没有启动成功)。

           mysql的连接数怎么修改在网上很容易找到 ,但是即使修改了mysql的并发连接数为1000还是没用,因为freeradius还是256个。查看freeradius的源码,可以找到限制的地方在 freeradius-1.1.1/src/modules/rlm_sql/conf.h中,找到
#define MAX_SQL_SOCKS   256
改成
#define MAX_SQL_SOCKS   1024

重新编译一次,然后在sql.conf中找到

   # number of sql connections to make to server
     num_sql_socks = 256

原来的256就可以设置大于256的数字了,但是还是不要设置得太大才好,因为freeradius一运行的时候就会创建num_sql_socks个与mysql的稳定连接,而并非在需要用的时候才创建socket的。

另外,如果使用RouterOS做PPPoE认证,默认的radius超时时间设置在我这里似乎有问题,很容易就显示raiuds connection timeout,设置大一点才不会出问题,好像是设成了3000。

 

原创粉丝点击