배경 :Ruby on Rails에서 열려있는 파일 설명자를 모니터하는 방법은 무엇입니까?
최근에 내 레일 서버에 문제가있어 응답을 멈추고 바운스를 받아야 다시 작동 할 수 있습니다. 이 문제는 서버를 완전히 수신 할 때까지 서버 응답 시간이 계속 증가하면서 일부 대량 처리를 수행하기 위해 POST를 수신 할 때 포크를 수행하는 컨트롤러가 원인이었습니다. 나는 그 문제를 해결했다고 확신한다. (포크에 복사 된 DB 연결은 자식 프로세스에서 닫히지 않았다.) 그러나 그것을 권위있게 테스트하는 것은 좋을 것이다.
질문 :
내 레일 응용 프로그램 내부의 파일 기술자에서 모니터링 할 수있는 방법이 있나요? 리눅스에서 실행 중이므로 proc
파일 시스템과 lsof
명령을 사용하여 열린 파일 설명자를 관찰했습니다. 이것은 현재 프로세스의 스냅 샷을 제공하기 때문에 지저분합니다. 이상적으로는 처리 전, 처리 중 및 처리 후에 상위 및 하위 프로세스에서 열린 파일 설명자를 인쇄하여 파일 설명자가 환영받은 후에 열리지 않도록해야합니다.
`lsof | grep something` # shell command example.
프로그램 같은 :