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