周一的时候一上班接到公司同事告知链接服务器巨慢。我打开防火墙查看日志发现session数量占据超过90%,可能过多的并发session形成了防火墙的拥堵。因而我看是查找问题根源来解决。web
首先我用图形界面登陆防火墙发现不能使用命令行模式控制,因而我configure--update----save to file导出防火墙的配置发现
set interface ethernet0/2 manage web,而后加了一条语句:set interface ethernet0/2 manage telnet从新导入防火墙配置,如今能够telnet防火墙随心所欲了,哈哈。centos
进入防火墙就好办了,因为咱们的服务器网段是100.100开头的,因而我tomcat
get session | i 100.100安全
发现100.100.0.44的服务器session最多,怎么清除它(session)呢,因而我telnet 防火墙,运行命令服务器
clear session src-ip 100.100.0.44session
发现这台服务器的并发session达到了9万多,这还得了,我发现咱们的防火墙配置文件(刚才导出的txt文档)中并发
set ipsec access-session maximum 90000socket
这条语句告诉咱们的访问session最大值,怪不得全部服务器会挂掉,防火墙的session已满。因而我加大防火墙的安全访问session最大值ide
set ipsec access-session maximum 540000,立刻咱们的防火墙负载降下来了。固然这只是权宜之计,要找出罪魁祸首才是解决问题的根源所在。刚才查出是0.44那台服务器的问题,通过以上处理能够登陆服务器了,通过netstat ps等命令的查看我发现是这台服务器运行的tomcat有问题,关掉tomcat服务后发现一切正常了,找开发人员慢慢解决吧。.net
怎么分析出罪魁祸首呢,有一款叫NSSA的软件能够分析session记录,下载地址是http://performanceclassifieds.net/NSSA.zip。固然得导出session记录,因而我在一台服务器centos 6.5系统上安装tftp服务,为了多快好省我yum install -y tftp* , 注意配置文件是
vi /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftp -c #注意必须加-c这个参数,
建立的意思
disable = no
per_source = 11
cps = 100 2
flags = IPv4
注意了这个-s就是源文件存放路径。因而我在防火墙上运行命令
get session > tftp 100.100.0.45 20120821.nss,成功把session记录导入到
45上,NSSA这个软件是个压缩文件解压缩后找到nssa.exe就是主程序而后Load
20120821.nss文件点击auto analyze就能够查看到了。
总结一下,解决这个问题须要掌握的知识点:
1.juniper防火墙的设置命令
clear session src-ip 100.100.0.44
get session > tftp 100.100.0.45 20120821.nss
get session | 100.100.0.44
set ipsec access-session maximum 540000
2.安装NSSA软件。网址上面有。
三、在centos系统上安装tftp服务
yum -y install tftp*
vi /etc/xinetd.d/tftp
disable = no (把yes改成no)
server_args = -s /tftp -c
service xinetd restart
注意tftp用的是udp 69端口在监听。
4.注意你的硬件防火墙最大的安全session并发是多少,不要超过,不然防火墙极可能会挂掉。