게시글 이동 시 긴 실행 시간 / 타임아웃 오류

자체 호스팅된 Discourse 포럼(tff-forum.de)을 운영 중이며, 400만 개 이상의 게시물과 대량의 대형 스레드가 있습니다.

최근 3.4.0.beta3 버전으로 업데이트한 이후, 게시물을 한 스레드에서 다른 스레드로 이동할 때 15~20초에 달하는 긴 실행 시간이 발생하고 있습니다.

일부 경우에는 해당 기능이 오류로 종료되며, 로그에는 다음과 같은 메시지가 표시됩니다:

Unicorn worker received USR2 signal indicating it is about to timeout, dumping backtrace for main thread

업데이트 이전에는 매우 큰 스레드 간의 게시물 이동 시에만 문제가 발생했습니다. 그러나 지금은 스레드에 게시물이 몇 개뿐인 경우에도 기능이 때때로 종료됩니다.

이 문제의 원인을 찾기 위해 확인할 수 있는 사항에 대해 조언이 있으신가요? 데이터베이스(인덱스/통계 정보 누락) 관련 문제가 있는 것일 수 있을까요?

미리 도움을 주셔서 감사합니다.

beta3에는 성능 문제가 있는 커밋이 몇 개 있었습니다. 업그레이드를 권장합니다.

참고: PostgreSQL 15 업데이트가 업그레이드를 복잡하게 만듭니다.

3.4.0.beta4로 업데이트하라는 조언에 감사드립니다. PostgreSQL이 15버전으로 변경되었기 때문에 더 긴 유지보수 시간이 필요합니다. 하지만 이 문제가 해결되는지 확인하기 위해 며칠 내에 업데이트를 진행하는 것이 합리적입니다.

PostgreSQL 업데이트에 대해 다소 놀랐습니다. 며칠 전 테스트 시스템을 3.4.0.beta3으로 업데이트했을 때 아무 문제가 없었습니다. 그런데 프로덕션 시스템을 업데이트할 때 데이터베이스 업데이트가 갑자기 프로세스의 일부가 되었습니다. 우리는 이에 대한 준비가 되어 있지 않아 데이터베이스 업데이트를 건너뛰었습니다. 따라서 3.4.0.beta4와 함께하거나, 그 전에 별도의 단계로 이를 수행해야 합니다.

건너뛴 데이터베이스 업데이트가 성능 문제를 일으키는 원인이 될 수 있을까요? 데이터베이스 인덱스와 통계가 올바른지 확인할 쉬운 방법이 있을까요?

아마도 그렇지 않을 것입니다.

PG 업데이트 주제에서 제안된 vacuum 및 reindex 명령은 언제든지 실행할 수 있습니다.