freeradius框架学习
来源:岁月联盟
时间:2009-02-24
线程池模型
radiusd的线程处理模型是比较老套的:单请求队列缓冲,多线程处理。
也就是说,一接收到数据包,就将其封装成request,调用thread_pool_addrequest 将request丢到缓冲队列里面,然后唤醒一个线程从队列里面取出请求进行处理.
本人觉得这种模型,适用于每个数据包的请求都是比较长的。如果每个请求的处理时间都比较短的话,考虑是线程之间的切换和资源的竞争,效率反而不高。
结论:radius的线程模型不适合高速转发.
上一篇:C语言高精度乘法的实现方法
下一篇:计算机老师眼中的C语言学习