freeradius框架学习
点击次数:30 次 发布日期:2008-12-01 11:57:12 作者:源代码网
|
线程池模型 radiusd的线程处理模型是比较老套的:单请求队列缓冲,多线程处理。 也就是说,一接收到数据包,就将其封装成request,调用thread_pool_addrequest 将request丢到缓冲队列里面,然后唤醒一个线程从队列里面取出请求进行处理. 本人觉得这种模型,适用于每个数据包的请求都是比较长的。如果每个请求的处理时间都比较短的话,考虑是线程之间的切换和资源的竞争,效率反而不高。 结论:radius的线程模型不适合高速转发. 源代码网供稿. |
