我们使用FreeRADIUS和MySQL数据库,对用户进行身份验证。我们遇到了一个问题,即MySQL数据库速度慢,从而达到了最大线程数。这方面的问题是,当服务器无法响应请求时,因为没有可用的线程,它会向客户端发送访问响应-拒绝。
我们的设备缓存客户端连接,并定期与服务器检查是否仍然允许或删除它们。该设备的设计是,如果没有来自服务器的响应和客户端连接,它将保持连接。问题是,当radius服务器处于其最大线程时,其默认答案是发送访问-拒绝(通过数据包捕获验证),但是我们希望更改默认行为以忽略请求(保持客户端连接)。
目前,我们已经修复了MySQL数据库问题,但我想将默认的Access-Reject更改为完全忽略客户端。我做过研究,但找不到问题的答案。
提前谢谢。
发布于 2010-07-08 22:20:04
检查您的MySQL服务器是否响应得足够快,检查服务器负载、内存使用情况、磁盘访问(顶部、空闲、vmstat、iostat)。
用户表中有多少行?哪种类型的存储(MyISAM,InnoDB)?
您可以调优MySQL服务器以关闭未使用的连接:
# /etc/my.cnf
...
# close unused connections after timeout
set-variable = wait_timeout=300
# keep 50 threads in cache
set-variable = thread_cache_size=50https://serverfault.com/questions/158585
复制相似问题