找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 29331|回复: 50

[radius] 你们的Radius Manager最多带了多少用户

  [复制链接]
发表于 2011-8-27 17:51:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
本帖最后由 qiznstar 于 2011-8-27 20:33 编辑

调查一下,本人刚刚装上了3.8版的阿湘版,发现其中的核心认证文件 freeradius有诸多的配置方面的问题。
freeradius采用了默认的配置,其数据库并发数采用默认的5个,这对用户量比较大的来说是远远不够的。 QQ截图20110827171607.jpg

再次发现mysql的配置文件,其中还是采用了默认的配置,这对多台ros,大量用户来讲会造成统计上的失误。
众所周知,Radius采取的是udp数据包,udp是发出去不管的不可靠的传输方式,而freeradius的默认配置文件仍然以可靠为前提的。

        # accounting_update_query        - 计账更新操作
        # accounting_update_query_alt        - 计账更新失败后的操作
        # accounting_start_query        - 开始计账的操作
        # accounting_start_query_alt        - 开始计账失败后的操作
        # accounting_stop_query                -停止计账的操作
        # accounting_stop_query_alt        - 停止计账失败后的操作

计账更新操作是用的更新语句
更新失败后用的是插入语句

开始计账用的是插入语句
插入失败表示存在了于是用更新语句

计账停止后用的更新语句
停止失败后用的是插入语句

其中暂且不说更新语句的毛病
先只说更新失败后的插入语句的毛病,其中所有的插入语句前提条件是更新失败。
那么有一个隐患就是,有没有可能在数据库十分繁忙的时候,数次的更新的确失败了,而数次的插入却生效了呢?完全有可能。
其中条件语句也有一些问题。
QQ截图20110827174738.jpg
计账更新的操作只根据ID,用户名,NAS的IP就来判断,虽然不是很高的机率,但仍有可能造成重复问题,比如一条已经下线了的计录,其中的acctstoptime应该不为空了,那么这个用户可能拔上来的acctsessionid与记录上的重复。

诸如此类,个人觉得RM无法带大量用户,尤其是如果停机后数百以上用户同时上线,更会造成统计结果不准确。
routeros
 楼主| 发表于 2011-8-27 18:00:33 | 显示全部楼层
很简单的测试,大家用RM开一个账号,允许拔500次,然后虚拟机另装台ROS,脚本一次性加入500个同样的拔号账号,然后回到RM后台看在线用户是否准确,几乎包不准确。
routeros
回复

使用道具 举报

发表于 2011-8-27 19:41:02 | 显示全部楼层
对这个很感兴趣,有谁做过真正的试验
routeros
回复

使用道具 举报

发表于 2011-8-27 21:08:51 | 显示全部楼层
本帖最后由 47771885 于 2011-8-27 21:23 编辑

.....演示。。。。。。根据 软硬件配置情况略有差异
2011.08.27_20h49m45s_001.jpg
2011.08.27_20h50m00s_002.jpg
2011.08.27_20h51m10s_004.jpg
2011.08.27_20h52m43s_012.jpg
routeros
回复

使用道具 举报

 楼主| 发表于 2011-8-27 21:27:18 | 显示全部楼层
本帖最后由 qiznstar 于 2011-8-27 21:31 编辑

这个差异绝对不是软件问题,是因为重复的insert,插入,我有反复测试过,测试也很简单,你把ROS用户全拔上后,发现统计不准确,这时你把所有的拔号账号禁用,然后会发现RM里面仍有大量账号在线。
routeros
回复

使用道具 举报

发表于 2011-8-27 21:38:32 | 显示全部楼层
随便贴一个吧,此机硬件非常一般。

aaa.JPG

带几千个用户在线是没问题的,同时并发数测试一般环境意义不大。优化下mysql 就能提供N多。

用户数不统一,还要考虑routeros的性能,是否已经发送了上线记录到radius。
routeros
回复

使用道具 举报

 楼主| 发表于 2011-8-27 21:41:38 | 显示全部楼层
如果在线用户数统计错误,将会造成有些用户拔不上号,因为RM里面记录了他是在线的,而他真不在线
routeros
回复

使用道具 举报

发表于 2011-8-27 21:47:45 | 显示全部楼层
认真学习 认真记录 认真收藏!
routeros
回复

使用道具 举报

发表于 2011-8-27 21:57:58 | 显示全部楼层

出现RouterOS内不在线,radius manager内用户在线的情况,基本只能是出现在用户离线时。就算是硬件故障几百个用户同时离线,radius manager没能及时更新用户离线记录。radius manager也会在 10(默认)分钟内将用户置离线。
几千个用户的网络,根本就不必担心 radius manager 效率问题。

点评

的确.一般2分钟就更新完毕  发表于 2012-9-20 11:05
routeros
回复

使用道具 举报

 楼主| 发表于 2011-8-27 22:12:52 | 显示全部楼层
本帖最后由 qiznstar 于 2011-8-27 22:23 编辑

硬件故障归硬件故障,不能把正常情况下的故障归硬件故障来处理,这个不够严谨,并非没有解决办法,这也是我们做认证系统时,技术员测试出来的问题,解决方案也下载得到,我想阿湘版主的下一个版本就能完全解决了,配置优化的问题,不关RM的事,不能使用默认的配置,带机量过小。
routeros
回复

使用道具 举报

发表于 2011-8-27 22:35:26 | 显示全部楼层
qiznstar 发表于 2011-8-27 22:12
硬件故障归硬件故障,不能把正常情况下的故障归硬件故障来处理,这个不够严谨,并非没有解决办法,这也是我 ...

不好说我只能做我 知道的 环境不一样的 嘿嘿或许到那依旧
routeros
回复

使用道具 举报

发表于 2011-8-27 22:46:18 | 显示全部楼层
metro的3.9V2版本生成卡会出错,是哪里的问题呢?
FPDF error: Some data has already been output, can't send PDF file
routeros
回复

使用道具 举报

发表于 2011-8-27 22:50:57 | 显示全部楼层
楼主您所说的情况,正常情况下不会发生,出现这样的情况只能是硬件故障。而你测试时所出现的问题Radius Manager官方也考虑了解决方法,默认是10分钟未收到用户的状态更新数据,就认为是用户已经离线,置用户为离线状态,这个默认时间可以修改。

mysql的配置问题,在mysql的安装文档中已经说明了,安装者根据硬件情况自行调整,并且已经带有常规环境的配置模板,非要使用默认的最优硬件兼容方式,那就是安装者自己的问题。radius manager 是使用外挂模块的方式进行的用户认证 状态更新等工作,虽然对效率有点影响,也许官方是出于保密的缘故,在不修改Freeradius源文件的基础上实现了一些其他功能,这样做也比较合理。

这些问题并没归咎到硬件故障。根本就不算是问题,也许是楼主你自己开发程序遇到了问题,想借鉴其他系统的解决方式而已吧。
routeros
回复

使用道具 举报

 楼主| 发表于 2011-8-27 22:55:20 | 显示全部楼层
本帖最后由 qiznstar 于 2011-8-28 11:42 编辑

无语-------------------
routeros
回复

使用道具 举报

 楼主| 发表于 2011-8-27 23:07:40 | 显示全部楼层
本帖最后由 qiznstar 于 2011-8-28 11:42 编辑

无语-------------------
routeros
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-5-17 13:01 , Processed in 0.132993 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表