대기열이 이미 큰 경우 postfix가 메일을 수락하는 데 성능 문제가 발생합니다. 제안 사항이 있습니까?

대기열이 이미 큰 경우 postfix가 메일을 수락하는 데 성능 문제가 발생합니다. 제안 사항이 있습니까?

나는 내가 작성한 메일 시스템의 최종 전달을 위해 postfix를 사용합니다. 그래서 이 postfix 설치는 제가 보낸 메일만 받아들이고 반송됩니다. postfix 대기열이 비어 있으면 5ms 정도 안에 메일을 받아들일 수 있습니다. 대기열에 150k-200k 정도의 메시지가 있으면 나에서 postfix로의 핸드오프 속도는 50-100, 때로는 500ms처럼 정말 느립니다.

SMTP 대화의 모든 부분에 대한 로그 시간이 있으므로 시간이 어디로 가는지 확인할 수 있습니다. 그 중 일부는 RCPT TO 명령의 응답을 기다리는 경우이지만, 대부분의 시간은 마지막 점을 보낸 후 "250 ok queued as..." 응답을 받기 전에 사라집니다.

아마도 RCPT TO 지연이 DNS 조회에 있을 것이라고 생각하지만 대기 시간에는 도움이 되지 않습니다. 보내는 모든 이메일에 대해 하나의 TCP 소켓을 열어두고 각 메일에 대한 대화를 RSET하므로 TCP 연결을 만들고 끊는 데 시간을 낭비하지 않고 모두 postfix가 메시지를 대기열에 넣기를 기다리고 있습니다.

내가 성능 조정 postfix에 대해 읽은 모든 내용은 대기열 관리 및 여기저기서 이 도메인과 저 도메인에 대한 메일 전송과 관련이 있습니다. 하지만 애초에 메일을 빨리 받기 위해 접미사를 받는 것이 걱정됩니다.

이 모든 시간 동안 postfix가 무엇을 하고 있는지 알아낼 수 있는 방법이 있나요? 아니면 더 빨리 진행되도록 할 수 있는 방법이 있나요? /var/spool/postfix 대기열은 로컬 디스크에 있으므로 더 빠르게 만들 수는 없습니다.

어떤 제안이 있으십니까?

답변1

다음을 설정하세요.main.cf

hash_queue_depth = 3
hash_queue_names = deferred, defer, incoming, active

그러면 플랫 디렉터리에 모든 메일이 동시에 포함되지 않도록 수신 및 활성 대기열에 하위 디렉터리가 생성됩니다. 이제 하위 디렉터리에 저장됩니다.

그러나 참고: 배달을 기다리는 메시지가 150,000~200,000개 있다는 것은 균형 잡힌 메일 전송에 대한 믿을 수 없을 정도로 잘못된 이해를 나타냅니다. 제가 보기엔 스팸메일 같네요...

답변2

솔루션 중 하나는 전달 대기 중인 모든 반송 메일을 처리하는 보조 메일 서버를 갖는 것이었고, 이는 실제 이메일이 계속 전달되도록 하는 최고의 솔루션이었습니다.

답변3

이것은 매우 오래된 질문이지만 기술은 크게 변하지 않았습니다. 기존 답변은 그다지 도움이 되지 않습니다.

대기열에 150k-200k 정도의 메시지가 있으면 나에서 postfix로의 핸드오프 속도가 정말 느립니다.

이 질문이 제시되는 방식에 따르면 OP가활동적인여기에 대기열을 추가하세요(Postfix에는 여러 개의 대기열이 있습니다). 그리고 Postfix는 질식을 방지하기 위해 해야 할 일을 정확히 수행하고 있습니다. 활성 대기열은 배달 예약과 관련된 모든 기능이 있는 곳입니다. 너무 커지면 스케줄링에 병목 현상이 발생합니다.

로드 관련 성능 문제가 나타나면 로드, CPU 및 IO 측정항목을 확인하여 하드웨어 병목 현상이 있는지 확인하는 것이 좋습니다.

전송 전용 릴레이를 작동하는 경우 여기에서 in_flow_delay를 줄이면 클라이언트 제한이 줄어듭니다. 하지만 활성 대기열의 크기를 작게 유지해야 합니다. 메시지가 수신 대기열에서 활성 대기열로 전달되는 속도를 제한하면 여기에서 도움이 될 수 있습니다. 그러나 가장 좋은 해결책은 활성 대기열에서 더 빠르게 항목을 꺼내는 것입니다. 여기에서 할 수 있는 가장 좋은 일은 좋은 평판 관리, 빠른 DNS 및 가능하다면 여러 IP 주소를 통해 전송을 분산시키는 것입니다. 재시도 빈도를 줄이면 활성 대기열이 채워지는 속도와 연결 시도 빈도에 따라 허용을 제한하는 공급자에게도 도움이 됩니다.

SPF, DMARC 및 DKIM(올바른 구성)은 필수로 간주되어야 합니다.

모든 사람이 스팸을 처리하기 위한 고유한 메커니즘을 개발하기 때문에 항상 이상값이 있을 수 있으며 이에 대한 사용자 정의 전송을 설정해야 합니다.

관련 정보