나는 EC2에서 우분투 서버 12.04 인스턴스를 실행 중입니다. IRCD 하이브리드 7.2가 설치되어 있습니다. 지금 당장은 연결을 묶어 서버가 처리 할 수있는 양을 확인하여 서버 테스트를로드하려고합니다. 방에 연결하는 스크립트가 있습니다.IRCD- 하이브리드 연결 제한 4026
제 문제는 서버 최대로 4026 개의 연결을 얻을 수 있다는 것입니다. 내 다른 소켓 연결은 작동하지 않는 것 같습니다. 최대 클라이언트 수를 100k로 설정하고 IP 당 최대 수를 50k로 설정했습니다.
은 내가
sysctl fs.file-nr -> fs.file-nr = 4576 0 1513750
또한 실행하면, 내하고 ulimit 설정되었습니다
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 개의 연결이 있습니다.
(이것은 아마도 파일 ulimit를 증가 이전 호출을 표시합니다) 당신은'은/etc/보안/제한의 한계를 조정할 수있는이 같은 문제를 디버깅하는 데 유용 할 수 있습니다. conf'. – caf