커피닉스, 시스템 엔지니어의 쉼터 커피향이 나는 *NIX
커피닉스
시스템/네트웍/보안을 다루는 곳
* HanIRC의 #coffeenix 방
[ 장비 및 회선 후원 ]
HOME > 네트워크(network) > 메일 서버(mail) 도움말
검색 : 사이트 WHOIS 웹서버 종류

메일 필터링(스팸메일) / procmail (14, 글 18, 자료 8)

  sendmail에서 멀티큐 사용으로 ext2 부하량 줄이기 작성일 : 2003/09/01 00:24
 
  • 글쓴이 : 산이 ( http://linuxchannel.net/ )
  • 조회수 : 9584
          [ 이전화면 / 수정 ]   비밀번호 :     인쇄용 화면
      저널링 파일 시스템(ext3, xfs, reiserfs, ...)이
    아닌 ext2 파일 시스템에서는,

    하나의 디렉토리에 파일 개수가 1000개 이상 존재하고
    해당 파일을 읽기/쓰기를 시도할 경우 시스템에 아주 극심한
    CPU 사용으로 전체 시스템 부하량이 증가하는
    현상이 있습니다.

    시스템 사양에 따라서 파일 개수한계가 다를 수 있지만
    보통 1000~3000개 이상이면 ext2 파일시스템에서는
    엄청난 부하량이 증가합니다.

    실제로 기술 지원나간 시스템은
    RH7.2/2.4.18, ext2 파일시스템으로 H/W는 막강한 시스템
    사양임에도 불구하고,

    sendmail의 큐디렉토리를 하나로 지정했을 경우,
    CPU 사용량이 2개 모두 각각 항상 90~95% 이상을 점유하더군요

    사용자가 몇십만명 이상되는 중대형 메일서버 용도인데
    역시 ext2의 한계이더군요.

    요즈음은 스팸메일 때문에 때아닌 메일서버가
    몸살(?)을 앓고 있는것이 현실입니다.

    ...

    자신이 관리하고 있는 메일서버가 ext2 파일시스템이고,
    매우 바쁜 메일서버 용도로 사용되고,
    sendmail의 경우 큐디렉토리를 가능한 다음과 같이
    멀티큐로 지정해 주면 CPU 사용량이 뚝 떨어집니다.
    (경험한 바로는 90%에서 20~30% 정도로)

    멀티큐 지원은 sendmail 8.10 이상부터 지원합니다.
    (패키지마다 다를 수 있으므로 확인요망)

    /etc/mail/sendmail.cf
    -----------------------
    ....
    # queue directory
    O QueueDirectory=/var/spool/mqueue/*
    ....
    ---------------------------------------------

    *예)
    # mkdir /var/spool/mqueue/{1,2,3,4,5,6,7,8,9}
    # chown root.mail /var/spool/mqueue/{1,2,3,4,5,6,7,8,9}

    *주의)
    멀티큐 디렉토리를 설정하기 전에
    기존의 메일큐를 가능한 모두 처리해주어야 합니다.
    만약 아직 처리되지 않은 메일큐가 남아 있다면,
    100~300개 단위 정도로 묶어서 하나의 디렉토리 안에서
    처리하도록 하면 됩니다.


    실제로 중대형 메일서버에서 sendmail을 사용할 경우,
    메일데몬을 하나가 아닌 여러개(2개 이상)의 멀티데몬을
    이용해서 하나는 defer 모드로 설정하여 메일을 큐에
    쌓도록 하고 나머지 메일데몬(들)은 메일큐을 처리하는
    방법을 택하더군요.
    (설정방법은 시간이 나면 테스트후 나중에 올리도록 하지요)


    *기타)
    중대형 메일서버로 운영할 경우라면,
    가능한 ext2가 아닌 저널링 파일시스템 사용과
    sendmail이 아닌 다른 MTA를 사용하는것이 더 유리한
    방안이 되겠군요.
      커피닉스 카페 최근 글
    [08/25] #gpt_question_subje
    [08/20] From what I've seen
    [08/14] сайт
    [06/16] [질문]SAN 스위치 브로드케이드 dcx8510-4 장비관련입니다.
    [04/22] Re: 영화속에 컴퓨터 이야기 ~스워드피쉬(2001)
    [10/20] Cross Compiler 깔
    [07/14] SSL АО
    [04/26] Re: 도스화면 원격조종 여부
    [04/25] 도스화면 원격조종 여부
    [10/30] Cshell에서 난수 설정
    [10/23] 공항철도주식회사 SE 구인 件
    [01/26] Re: wget으로 다른서버에있는 디렉토리를 가져오려고합니다.
    [01/25] wget으로 다른서버에있는 디렉토리를 가져오려고합니다.
    [01/11] 특정 안드로이드 WebView 버전에서 SSL 문제 (WebView 버그)
    [08/01] DNS forwarder (전달자) 서버를 통해서 쿼리하면 역방향을 받아오질 못합니다.
      New!   최근에 등록한 페이지
      KiCad EDA Suite project (Free/Libre/Open-Source EDA Suite) (CAD)
      오픈캐스케이드 캐드 (OpenCASCADE CAD)
      QCad for Windows --- GNU GPL (Free Software)
      The Hello World Collection
      IPMI를 활용한 리눅스 서버관리
      DNS 설정 검사
      nagiosgraph 설치 방법
      Slony-I 설치 방법 (postgresql replication tool)
      Qmail기반의 Anti spam 시스템 구축하기
      clusterssh

    [ 함께하는 사이트 ]




    운영진 : 좋은진호(truefeel), 야수(yasu), 범냉이, sCag
    2003년 8월 4일~