|
소스가 없는 상황이라 추측입니다만,
큐에서 꺼내온 후 처리하는 루틴을 확인해 보셔야 할 것 같습니다.
그 부분에서 딜레이가 걸리는 것 같습니다.
넘초보 님이 쓰신 글 :
: IOCP 를 이용한 프로그램을 서비스 하고 있습니다.
:
: 클라이언트에서 요청한 패킷에 대하여 서버 도달시간 정보를 출력해 보고 있는데 이상한 점이 있어서 질문 올립니다.
:
: 특정 시간대에 서비스에 많은 통신 딜레이가 생기고 있는데요.
:
: 클라이언트에서 전송한 패킷이 서버에 도달하기까지 상당한 시간(1분 이상까지도) 이 걸리고,
:
: 그에 대한 처리 결과를 클라이언트에 전송하는 부분은 전혀 딜레이가 없고요.
:
: 위 시각은
:
: GetQueuedCompletionStatus(handleIOCP, &bytesTransfer, &keyValue, &overlapped, 10);
:
: 다음 줄에서 체크한 시간입니다.
:
:
: 같은 서버에 테스트용 서버(같은 실행파일)를 포트만 바꿔서 올리고, 테스트 클라이언트 한대만
:
: 접속한 경우는 위 같은 시간 딜레이가 발생하지 않네요.
:
: 특정 시간대에 외부의 어떤 영향이 있는것은 확실한듯 한데요, 왜 사용자가 많은 (100여명 정도)
:
: 서버만 딜레이가 있고, 한명의 사용자 서버는 딜레이가 없는 걸까요?
:
: 사용자가 많은 서버의 작업 쓰레드 현황을 보면, 거의 모든 쓰레드가 놀고 있는데 말이죠..ㅠ.ㅠ
:
: 위 서버에 300 ~ 450 명 까지 접속한 경우에도 딜레이가 없이 돌아가는데..ㅠ.ㅠ
:
: 혹 이 같은 경험이 있으시다면, 참고할 만한 점이라도 도움 말씀 주시면 고맙겠습니다.
:
: 즐거운 하루 되세요..
|