hustpiglet 发表于 2006-11-13 20:17:33

用 pptpd做代理服务器,能否达到5000人在线啊

3个3G的cpu
4G的内存
200M的接入
能不能达到5000人那?
不行的话,那怎么才能达到5000人那?
各位大侠指点啊

stao 发表于 2006-11-14 01:30:27

我以前测试过但不确认我当时使用的方法是最好的,通过以前的测试我发现如果 只有一台服务器不做集群并行处理,想一台服务器达到稳定支持到5000迸发PPP连接有一些不现实。

我做过这样一个测试,也算是测试失败的项目吧。
使用一台双至强P4 3.02G内存Dell服务器, Redhat 9.0+ PPTPD +IPTABLES FreeRadius 还有一套 UT的AAA 系统。在一个比较大的校园内做认证计费。
首先用DHCP在区域网分配私网址,通过VPN拨号后获得公网IP。
再使用iptables -t filter -I FORWARD - ippp+ -j ACCEPT
    。。。。。。。。。。。。。。
    iptables - t filter -I FORWARD -j DROP
等IPTABLES 规则,及修PPP-UP 脚本在PPP-UP脚本调用TC脚本实现PPP限速实现通过发行上网卡,让用户使用上网卡帐号密码,经VPN拨号认证后限速访问互联网。

所有软件默认安装不进行特殊定制的情况下,当网络流达到30M时只能支持到稳定支持到300个左右的PPP连接,超过300左右就会发生
自动断开等现像,此时的CPU占用率达到95%-100%。

通过重新定制Kernel及修改PPTPD源码、FreeRadius源码,一系列方式优化后。当流量达到30M时最大只能稳定支持500左右用户。再多了或着一次VPN拨号不通,经反复拨号才能拨通。但是拨通之后会挤掉原来的用户。此时的CPU占用率又达到95%-100%。

   经过反复测试最后我的理解是,当数据流量大时的PPP遂道的维护、PPP数据包封装和分用都需要占用大量的CPU资源来处理,对于X86构架的处理器通过软件的模拟的方式来处理,是十分吃力的。

    虽然这些流量在专用的宽带Base(宽带接入服务器)设备上使用专用ASIC芯片来处理并不算什么,但是在X86构架服务器用软件来模拟来实现,楼主说的200M的流量5000个PPP迸发,我想可能需要一个规模不小的服务器集群系统并行处理才能搞定。
   
   

    不知道楼主服务器网卡是什么接口的,如果是普通的PCI接口的100/1000M网卡,楼主还需要关心,服务器主板PCI总线的带宽,我记忆中旧一些的服务器PCI总线工作频率都是33HZ, 这样的话在32位机器上,PCI的总线是33*32/bps 大约 133MBps的带宽。根本达不到楼主所说的200MB,所以这也是必需考虑的问题。


   这是我以前做的一次失败项目,供楼主参考。同时盼望高手指点! ----关注中!!!

stao 发表于 2006-11-17 13:18:20

再顶起来,怎么没有人讨论呀
页: [1]
查看完整版本: 用 pptpd做代理服务器,能否达到5000人在线啊