[질문]epoll 사용시 EPOLLET, EPOLLONESHOT 설정
글쓴이: chonbj / 작성시간: 금, 2004/05/21 - 10:12오전
안녕하세요
몇일전부터 epoll 을 공부하고 있는 유저입니다.
지금 현재 단순 에코만 해주는 서버를 epoll로 구현해서 테스트 중입니다.
클라이언트 events 설정을 EPOLLIN 만 설정을 해서 처리를 했을 경우에는
이벤트가 사라지는 경우가 발생하지 않는데...
설정을 EPOLLET 설정을 했을 경우에만 이벤트가 누락 되는 것을 확인할 수
있었습니다.
[테스트 내용]
스트레스 테스트( 동접 1000명 정도가 접속후 메시지 전송/수신 후 종료 )를 한참동안 하다가 모든 클라이언트를 종료 시키고
단일 클라이언트를 실행해서 서버에 접속만 하면, 서버는 해당 소켓에서
메시지를 수신한 후 메시지를 전송하고 종료까지 수행합니다.
분명 클라이언트는 디버깅 모드로 해당 연결에 메시지를 전송하지 않은 상태인데 서버는 해당 소켓에 대한 종료 처리까지 수행합니다.
고수님들 EPOLLET 설정을 했을 경우와 안했을 경우의 차이를 좀 알켜 주세요.
그리구 EPOLLONESHOT 도 알려 주시면 도움이 많이 될 것 같습니다.
고수님들 답변 부탁 드립니다.
Forums:
댓글 달기