,

Linuxで1プロセスでたくさんソケットを使う方法

1プロセスが同時に使えるソケットに対するシステム上の制限を緩める

http://www.jp.zeus.com/faq/zlb/os/linuxfd.html
/etc/security/limits.conf に追加します。
 * soft nofile 1024
 * hard nofile 4096
次の行を /etc/pam.d/login に追加します。
session required /lib/security/pam_limits.so
次の行を /etc/rc.d/rc.local 起動スクリプトに追加
echo 8192 > /proc/sys/fs/file-max
echo 24576 > /proc/sys/fs/inode-max
そして再起動

プロセス内で同時セレクトの制限を緩める

http://www.nxhack.tarumi.kobe.jp/linux_kernel_tuning-2.2.html
http://www.nxhack.tarumi.kobe.jp/linux_kernel_tuning.html
# プロセス毎のFDを増す
/usr/src/linux/include/linux/fs.h で
(デフォルトは1024)
#define INR_OPEN 4096
/usr/src/linux/include/linux/limits.h で
(デフォルトは1024)
#define NR_OPEN 4096
してカーネルを再コンパイルします
(ulimit -HSn 4096 という方法もあります)
# FD_SETSIZE を増す
/usr/src/linux/include/linux/posix_types.h で
(デフォルトは1024)
#define __FD_SETSIZE 4096