私はこの状況が嫌いです(MACOSX)
$ perl -MSocket -le 'print SOMAXCONN'
128
128を超えるソケットを処理するにはどうすればよいですか?IO :: Socket :: INET(現時点ではIO :: Selectと多重化)を使用していますが、この制限があります。
私はプレフォークNプロセス(それぞれselectまたはpollを使用して128を処理する)で考えていましたが、それが機能するかどうかはわかりません。いくつかのアイデア?
私はこの状況が嫌いです(MACOSX)
$ perl -MSocket -le 'print SOMAXCONN'
128
128を超えるソケットを処理するにはどうすればよいですか?IO :: Socket :: INET(現時点ではIO :: Selectと多重化)を使用していますが、この制限があります。
私はプレフォークNプロセス(それぞれselectまたはpollを使用して128を処理する)で考えていましたが、それが機能するかどうかはわかりません。いくつかのアイデア?
これは、OSXカーネルレベルで構成可能な制限です。幸いなことに、修正は非常に簡単ですが、ルートがある場合に限ります。カーネル構成を微調整する方法を説明する記事があります。関連するエントリはkern.ipc.somaxconn
です。
それ以外の場合は、スレッドを使用してみることができます。各スレッドが独自のソケットの割り当てを取得しているかどうか、またはCPAN上の任意の数のプリフォークサーバーを取得しているかどうかはわかりません。