FTP连接数限制问题
问题描述:因业务增长,所需要的FTP并发量增加,导致客户端连接FTP server时出现报错
Troubleshooting:
1>报错内容:单个IP连接过多。
2>限制客户端连接数的参数:
max_clients #最大客户端连接数,默认没有限制
max_per_ip #单个IP最大连接限制,默认没有限制
3>查找限制
查看ftp配置文件/etc/vsftpd.conf,查看参数限制的值
可是在配置文件并没有max_clients和max_per_ip参数,那么默认就是没有限制的,为什么还会有报错?
4>是否还有其他限制
Vsftpd分两种运行模式:
1:standalone模式
2:xinetd模式
上图,这两个参数仅在standalone运行模式生效
查看运行模式:
chkconfig –A|grep vsftpd
vsftpd xinetd
此服务器上ftp运行的xinetd模式,在xinetd模式下,限制连接数的配置文件是/etc/xinetd.conf
限制的参数是instances和cps
instances #接受一个大于或等于1的整数或UNLIMITED,设置可以同时运行的最大进程数,UNLIMITED意味着xinetd的该数没有限制
cps #用来设定连接速率,它需要两个参数,第一个参数表示每秒可以处理的连接数,如果超过了这个连接数时,之后进入的连接数将会被暂停处理,第二个参数表示停止处理多少秒后,继续处理先去暂停处理的连接。
这里可以修改instances和cps的值或者直接改为没有限制UNLIMITED但是,在ftp高并发量的业务来看,最好的方法是直接将ftp改为standalone运行模式并根据业务来调整限制值或者取消这两个参数使其不受限制。
Standalone适用于高并发环境,xinetd适用于小并发的环境。
这个报错一般是超过单个IP连接数量限制
这个报错一般是超过客户端连接数量限制
如果更新了vsftpd.conf,一定要重启ftp,命令如下:
[root@linuxsir001 root]# /etc/init.d/vsftpd restart或service vsftpd restart