我在EC2上運行Ubuntu Server 12.04實例,並安裝了IRCD-hybrid 7.2。現在,我試圖通過在連接上創建一堆並查看服務器可以處理多少來加載測試服務器。我有一個連接到房間的腳本。IRCD-hybrid Connections Limited在4026
我的問題是,我可以在服務器上獲得最多4026個連接。我的其他套接字連接似乎不起作用。我有最大的客戶端設置爲100k只是爲了安全,每個IP最大數量爲50k。
當我運行
sysctl fs.file-nr -> fs.file-nr = 4576 0 1513750
而且,我ulimits已經確定:
ulimit -S -> 65536
我的ulimit -n是1024,但因爲我可以得到4026間的連接,我怎麼沒看到這影響了它。
ulimit -n -> 1024
當我遇到這個問題時,內存和CPU也無處可達。
我的代碼是這樣的:
import random
import sys
import socket
import string
import time
n = ''.join(random.choice(string.letters) for i in xrange(40))
HOST="<MYHOST IS HERE>"
PORT=6666
NICK=n
IDENT=n
REALNAME=n
readbuffer=""
s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
s.send("NICK %s\r\n" % NICK)
s.send("USER %s %s %s :%s\r\n" % (IDENT, HOST, REALNAME, REALNAME))
s.send('JOIN #foobar\r\n')
while 1:
readbuffer=readbuffer+s.recv(1024)
temp=string.split(readbuffer, "\n")
readbuffer=temp.pop()
for line in temp:
line=string.rstrip(line)
line=string.split(line)
if 'PRIVMSG' in line:
print line
if(line[0]=="PING"):
s.send("PONG %s\r\n" % line[1])
是否有IRCD雜交設置此設置?當我嘗試與普通客戶端連接並且我已經有4026個連接時,終端窗口顯示「服務器已滿」。
在Ubuntu中,你可以調整在'/ etc/security/limits中的限制。 conf'。 – caf