현재 우분투 12.04 x64 VM에서 실행중인 서버 응용 프로그램을 작성했습니다. 응용 프로그램은 다른 서버에 연결하여이 서버의 일부 데이터를 빨아 들여 변환 한 다음 다른 곳에서 실행되는 클라이언트 응용 프로그램으로 다시 보냅니다. 이 모든 것은 TCP 위에 boost :: asio를 넘어서있다. 입출력은 상당히 무겁습니다.리눅스 프로세스가 끊임없이 연결을 끊습니다.
몇 시간 정도 지나면 우리 서버가 클라이언트 연결을 끊는 것을 볼 수 있습니다. 클라이언트가 다시 연결을 시도하면 연결이 설정되는 즉시 다시 끊어집니다. boost :: asio에 의한 에러보고는 "Peer에 의한 Connection reset"입니다. 이것은 겉으로는 무한정 계속됩니다. 이 시간 동안 나는 기계에 ssh 할 수 있으며 응용 프로그램에서 서버 프로세스로의 연결은 여전히 건강합니다. 적재물은 보통입니다. 응용 프로그램을 다시 시작하면 문제가 해결됩니다.
추가 조사 방법에 대한 의견이 있으십니까?
1에 있는지 확인합니다 네트워크 수준에서
귀하의 개발 환경에서? 2. tcp 덤프가 있습니까? 3. 서버 프로세스 란 무엇이며 로그에는 무엇이 있습니까? 4. 호스트간에 상태를 유지하는 방화벽, 상태 저장 방화벽 또는 라우터가 있습니까? 4. 고객으로부터 스트 레스 결과를 얻었습니까? – MarkR
또 다른 옵션 :'netstat -an'이 (앱이 오동작하는 경우) 무엇을 말합니까? – ChristopheD
MarkR : 1) 아니요,이 특별한 설치로 어디서나 발생하지 않습니다. 2) 지금 tcpdump를 실행 중입니다. 3) 서버 프로세스가 관련성이 없어야합니다. 연결이 안정적으로 유지되고 있습니다. 4) 잘 모르겠습니다. 클라이언트 사이트에 있습니다. 5) 아니오. 나는 그것을 얻으려고 노력할 것이다. – samwise