登录
  • Even when we go our separate ways, in my heart you'll always stay...
  • 法律本身并不能保证言论自由; 要做到这一点, 必须所有人都有包容精神。 @爱因斯坦

SoftEther VPN Server 100% CPU高负载解决方案

IT那些事 Benny小土豆 1519次浏览 1136字 0个评论
这篇文章在 2016年08月16日19:28:49 更新了哦~

 


自从搭建好UDP 53 OpenVPN服务器之后,一直发现一个很奇怪的问题:

  • CPU满载,vpnserver程序占用接近100%的CPU
  • 客户端的Bytes in会以1Mbps的速度涨流量(服务器出网1Mbps)
  • 重启vpnserver,情况可能会缓解(大部分情况下是缓解了),也可能不会。
  • eth0的RX(下载)、TX(上传)存在大量流量,即使我并没使用服务器

我一直以为是SoftEther VPN Server设计上的bug,更新了最新版本的也依旧存在;开始考虑到OpenVPN性能问题,好像也没有这么严重的…

直到今天实在忍不了,问了万能的Google,看了官方论坛的讨论、troubleshooting

最后,在一个歪果仁的博客中找到了这么一句话

DO NOT enable both local bridge and SecureNAT at the same time. Packets will loop infinitly and make your server 100% CPU usage.

同时在官网的TroubleShooting中的11.1.6、11.1.7得到了High CPU load的解释,

3.7.4也有Virtual NAT的使用要点

所以问题就是,丫的别把本地桥和SecureNAT一起开启了。 :!: 客户端程序的记录里一直以1Mbps的带宽涨流量、ifconfig的网卡有流量计数也同样得到了解释。 :roll:

删了本地桥就好了。就是这么简单的办法...

原先错误的教程《SoftEther VPN Server安装手记+福利》已经修改了,对某些读者可能造成的困惑或者是损失,深表歉意。

注:本地桥性能上要略好于SecureNAT

在没找到真正原因之前,我甚至写了个脚本来监测15分钟平均负载来重启vpn服务,简直啦!不能浪费,贴出来,或许以后会用到呢!

#!/bin/bash
#15m average load
aload=0
aload=`uptime | awk '{print $11}'`
echo 15m load is $aload
if [ `expr 1 \> $aload` -eq 0 ]
then
echo !!!!!! >> /home/vpnload.log
echo `date` high load,restarting now >> /home/vpnload.log
/root/vpnserver/vpnserver stop >> /home/vpnload.log
/root/vpnserver/vpnserver start >> /home/vpnload.log
echo !!!!!! >> /home/vpnload.log
else
echo `date` 15m average load is $aload, keep it up
fi

文章版权归原作者所有丨本站默认采用CC-BY-NC-SA 4.0协议进行授权|
转载必须包含本声明,并以超链接形式注明原作者和本文原始地址:
https://www.bennythink.com/highload-softether.html
喜欢 (2)
分享:-)
Benny小土豆
关于作者:
If you have any further questions, feel free to contact me in English or Chinese.
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

去你妹的实名制!

  • 昵称 (必填)
  • 邮箱 (必填,不要邮件提醒可以随便写)
  • 网址 (选填)