1.概要
FTPサーバーに接続した際に、タイトル記載した内容のエラーが返ってきました。
これはいったい何かという話ですが
直訳してみると
OPS:vsf_sysutil_bind、リスニングポートを見つけるための最大試行回数を超えました。 OOPS:priv_sock_get_int
ポートに関する異常が起きているという内容でしょう。
このエラーが不定期に起きるといった状況です。
今回はこれについて調べてみました。
2.環境
サーバーの環境は下記のとおりです。
FTPサーバー:vsftpd v3.0.3
通信モード:パッシブモード
データコネクションポート数:20
エラーが発生したコマンド:LIST
クライアントは自作のアプリケーションになります。
3.原因
原因は単純な話でデータコネクションポートの数がクライアントからの接続に対して
少なすぎるというのが原因でした。
クライアントの数は350台程度でこれが一気に接続しに来るので
その際にデータコネクションのポートに空きがなく
接続がはじかれるといった現象になります。
私もこれについては予測はしていましたが
どの程度のポート数が必要かわからず
とりあえずエラーが出るのを待っていたという状況でした。
【350】の接続に対して【20】では捌ききれないということが
わかっただけでも非常に勉強になりました。
この数値に関しては通信速度やデータ容量にもよるかとは思いますが
おおよその目安としてはありなデータではないかと思いましたので
記事に残させて頂きました。
また、データコネクションポートを使わない【DELE】コマンドは正常に動作しています。