Q&A

CMS/프레임워크 Rhymix 2.1
개발 언어 PHP 7.4

 

efwfw.jpg

오늘 뭔가 사이트가 느린 거 같아서 서버를 확인해 보니 cpu가 100% 상태를 계속 유지하고 있었습니다.

이런 식으로 ffmpeg 관련된게 cpu를 잡아먹고 있는 거 같았습니다.

서버를 재부팅 하니 증상은 사라졌네요.

 

1.jpg

netdata 로 확인해 보니 대략 오전 8시 부터 증상이 시작됐네요. (밤 12시에 발견했습니다;;)

 

해당 시간 로그를 확인해 보니 회원 한분이 글쓰기를 시도한 흔적이 있는데 글이 업로드되지는 않았습니다.

 

 

그리고 php로그를 보니

 

[26-Mar-2026 08:06:38] WARNING: [pool www] child 424893, script '/var/www/abc.com/index.php' (request: "POST ") execution timed out (76.987891 sec), terminating
[26-Mar-2026 08:06:38] WARNING: [pool www] child 424893 exited on signal 15 (SIGTERM) after 1620.145239 seconds from start

[26-Mar-2026 08:08:18] WARNING: [pool www] child 425067, script '/var/www/abc.com/index.php' (request: "POST ") execution timed out (77.845100 sec), terminating
[26-Mar-2026 08:08:18] WARNING: [pool www] child 425067 exited on signal 15 (SIGTERM) after 919.968179 seconds from start

 

그 시간 무렵에 이런 오류가 찍혀있네요.

 

 

챗gpt 에게 물어보니 뭔가 손상된 파일을 업로드했다가 ffmpeg 가 오류 상태에 빠진 거 같다고 하네요

 

그러면서 라이믹스에 영상을 인코딩 하는 소스 부분에

 

if (!\RX_WINDOWS) {
$command = 'timeout -k 5s 60s ' . $command;
}

 

요런 타임아웃 설정을 일단 넣으라고 하는데

 

안전할까요?

 

 

댓글 1

  • 이미지를 보면

     

    ffmpeg 프로세스 2개가 각각 742%, 678% CPU를 4일 넘게 점유 완전히 무한루프에 빠진 좀비 상태입니다.

    ChatGPT 진단이 맞습니다.
    손상되거나 특수한 포맷의 파일을 ffmpeg가 처리하다가 종료 조건 없이 루프에 걸린 것입니다.

     

    time 추가 괜찮을것 같긴 한데,....

     

    60초 -> 120초 이상으로 조정을 해보는건 어떨가요?~

    서버 재부팅으로 증상은 해결됐지만, 같은 파일이나 비슷한 케이스가 또 오면 재발할 가능성이 클 것 같습니당.

    PHP-FPM request_terminate_timeout도 같이 설정해두면 이중 방어가 될 것 같네요!

     

    http://etc/php/*/fpm/pool.d/www.conf 여기서 

    ; ffmpeg 인코딩이 동시에 여러 개 실행되는 것 방지

    request_terminate_timeout = 120