성능 최적화, max_wal_size는 어떻게 되나요?

안녕하세요,

beta-3에서 beta-4로의 최신 업데이트는 평소보다 다소 ‘귀찮은’ 작업이었고, 로그 때문에 다음과 같은 메시지가 계속 표시되었습니다:
Consider increasing the configuration parameter "max_wal_size".

이 분야 전문가가 아니기 때문에 검색해보니, 이 매개변수 max_wal_size가 성능에 매우 중요할 수 있다는 것을 알게 되었습니다(일부 자료에 따르면 shared_buffers 다음으로 중요하다고 합니다. 아래 참고):
Tuning max_wal_size in PostgreSQL | EDB (enterprisedb.com)
Tuning Your Postgres Database for High Write Loads (crunchydata.com)
PostgreSQL Performance Tuning and Optimization Guide - Sematext

이 부분에 대해 의견이 있으신가요? 업데이트 중에만 발생했더라도 max_wal_size 매개변수를 변경해야 할까요?

참고로, 우리는 700만 개 이상의 게시글을 가진 큰 포럼을 운영하며 많은 리소스를 사용합니다. 일주일에 몇 번씩 400~600명의 동시 사용자가 새로고침, 게시글 작성 등 모든 작업을 동시에 수행합니다. 이로 인한 문제는 없지만, :smiley: 때로는 최적화를 통해 제한된 리소스로 최상의 성능을 내기 위해 노력해야 합니다.

데이터베이스에서 SELECT checkpoints_timed, checkpoints_req FROM pg_stat_bgwriter;를 실행하는 데 어떤 가치가 있나요?

제가 제대로 이해했는지 확인해 보겠습니다:

SELECT checkpoints_timed, checkpoints_req FROM pg_stat_bgwriter; 
checkpoints_timed | checkpoints_req 
-------------------+-----------------
              4936 |             225
(1 row) 

업데이트 중 마이그레이션이 주된 원인인 것 같습니다. 일상적으로는 포럼이 정상적으로 작동하고 있습니다.

이번 달에 무거운 마이그레이션을 몇 건 배포했는데, 혹시 리빌드 로그를 가지고 계신가요?

아니요, 나중에 어딘가에서 찾아볼 수는 있겠지만, 당신의 판단을 믿을게요 :+1: (제가 언급했던 피크 시간대에 일부 로딩 문제가 있는 것을 제외하면 포럼은 잘 작동하고 있어요).