imap 과 pop3 중 어느쪽이 부하가 더 높을까요?

maindb의 이미지

imap 과 pop3 중 어느쪽이 부하가 더 높을까요?

물론 그 둘의 성격은 당연히 다르지만...
메일박스에 접속해서 메일을 읽을 수 있는 점에 있어서 비슷한 부분들이 있습니다.

일단 테스트 결과 둘다 아주 만족스러운 결과가 나왔지만
둘중에 어떠한 방법을 사용해야할지 모르겠습니다.

개인적으로는 imap 이 부하가 덜 걸릴것 같은데
많은 사람들이 pop3 보다 imap 이 훨씬 부하가 더 심하다고 합니다.

어떤쪽이 부하가 더 높을까요?
고견을 듣고 싶습니다.

maddie의 이미지

imap이 더 높을 것같습니다. pop3는 접속하고 메시지를 받아가면 접속을 끊어버리지만 imap의 경우엔 메일 클라이언트가 떠 있는 한 접속을 유지합니다. 당연히 imap이 더 부하가 크지 않을까요...

힘없는자의 슬픔

dgkim의 이미지

메시지를 어디에 저장할 것인가에 따라 결정하시면 됩니다.
메시지를 받은 서버에서 바로 저장하고 관리하시면
imap를 사용하고 따로 PC든지 다른 스토리지(DB에 넣는다든지)로 이동된다면
pop3를 사용하면 좋겠죠..

그리고 부하면에서는 아무래도 사용하는 방법에 따라 차이는 있겠지만
imap가 통상 많이 걸릴 것입니다.

메일 클라이언트가 imap로 접속하게 되면
서버에 저장된 메시지를 접속시 마다 검색해야 하므로 디스크 부하가 많이 걸립니다.
그런데 메일 클라이언트가 pop3로 접속하게 되면
서버에서는 메일을 클라이언트로 보내고 삭제하기 때문에(보통..)
서버에는 디스크 부하가 많이 걸리지 않고
클라이언트 측에서는 일반 텍스트형태로 메시지를 저장하지 않고
자체 저장 방법으로 저장할 것이므로 퍼포먼스가 뛰어날 것입니다.

개인적으로는 메시지 저장을 서버에서 일반 텍스트로 저장하는 것을 선호하기에
IMAP를 사용합니다.

bh의 이미지

음냐,, 위에 imap,pop3 랑 관련이 있으려나 몰건네요,,

전 메일박스 포맷에 따라,,
부하라기 보다.. 파일을 오픈할때,, 속도 차원에서 바라봤습니다.
Mailbox: 하나의 파일에 모든 메시지가 저장됨.
Maildir: 정해진 디렉토리에 메시지 한개당 파일 한개.

메일이 많지 않을땐.. 별루 느끼지 못 하지만..
메일이 한 1000통 이상 쌓여있을땐..
Mailbox 보다 Maildir 이 힘을 발휘하더군요..

너무 당연한 얘긴강? ㅡㅡㅋ

--
이 아이디는 이제 쓰이지 않습니다.

ironiris의 이미지

상황에 따라 많이 틀리겠지만 워싱턴imap 에서 제공하는 imap 과 pop3를 보면 메일함에 200M정도 되는 메일이 있다면 pop3를 사용할때 시스템에 엄청 부하를 줍니다.
그 회사는 ADSL을 인터넷공유기로 분배해서 사용하는데.. 그 회사 직원중 몇명이 100M이상 사용해서 자신의 메일을 거의 확인을 못하더군요.(서버에 복사본 저장)
그 이유는 pop3데몬이 사용하는 메모리의 양이 그 메일함의 양과 비슷하더군요.
pop3데몬이 뜨는 것마다 100M이상이라면.. 말다했죠?
제가 쿼터를 지정해주지 않은 잘못도 있지만 이 상황에서 imap은 어느정도 사용가능했으나 pop3 사용불능이었습니다.
참고가 되었으면 좋겠네요.

bh의 이미지

ironiris wrote:
상황에 따라 많이 틀리겠지만 워싱턴imap 에서 제공하는 imap 과 pop3를 보면 메일함에 200M정도 되는 메일이 있다면 pop3를 사용할때 시스템에 엄청 부하를 줍니다.
그 회사는 ADSL을 인터넷공유기로 분배해서 사용하는데.. 그 회사 직원중 몇명이 100M이상 사용해서 자신의 메일을 거의 확인을 못하더군요.(서버에 복사본 저장)
그 이유는 pop3데몬이 사용하는 메모리의 양이 그 메일함의 양과 비슷하더군요.
pop3데몬이 뜨는 것마다 100M이상이라면.. 말다했죠?
제가 쿼터를 지정해주지 않은 잘못도 있지만 이 상황에서 imap은 어느정도 사용가능했으나 pop3 사용불능이었습니다.
참고가 되었으면 좋겠네요.

위와 같이 비슷한 상황을 경험 해 봤습니다.
100메가 까진 안되어도 10메가 가량의 Mailbox를 pop3 로 접근했는데..
안열립니다..
이거 후배의 메일이었는데..
하는 수 없이 Mailbox 를 FTP 로 전송해주었다는.. -_-;;

이래저래.. Maildir+imap 이 가장 현명한 조합 같아요,,

--
이 아이디는 이제 쓰이지 않습니다.

maindb의 이미지

다시 정확히 현 상황을 말씀드리자면...

어찌되었건 결론은 웹 메일 입니다.

php 의 imap 함수들만을 가지고는 사실상 완벽히 메일을 파싱하는것이
불가능 합니다. 해보신 분들은 잘 아실 겁니다.
결정적인 이유는 php 의 imap 함수들이 문제가 있다기 보다는
메일을 보내는 쪽에서 표준을 제대로 지키지 않기 때문입니다.
대표적으로 webmail.kldp.org (사고로 지금은 잠시 운영이 중단)
에서 진행하고 있는 phpmail 이 바로 대표적인 사례라고 할 수 있습니다.
거의 제대로 파싱이 되지만 또 반대로 문제가 정말 많습니다.
이건 phpmail 의 문제가 아니라 메일을 보내는 쪽이 표준을 정확히
지켜서 보내지 않기 때문이죠.

그래서 이것저것 참고를 해보던 중 외국 싸이트에서 웹메일 관련 전문
개발자들의 의견을 구해봤는데 socket 으로 access 하여 직접 하나하나
파싱을 하는것이 정신건강에 이롭다고 합니다.
imap (143) 이나 pop3(110) 으로 access open 하여
읽어서 파싱을 하라고 합니다. 실제적으로 억대를 호가하는 웹 메일 솔루션
제품들은 모두 이와같은 방법을 사용하고 있습니다.
그래서... 혹시나 해서 별 기대를 하지 않고 한메일 측에 기술 문의를
해 봤더니 답변이 왔네요.
당연히 직접 access open 하여 하나하나 파싱을 해야 한다고 합니다.
그렇지 않으면 메일을 제대로 완벽히 파싱할 생각을 말라고 하네요.

그래서.... 이 쓰레드의 원 질문과 같은 글을 올렸던 것입니다.

imap 이나 pop3 나 모두 socket open 하여 메일의 string 를 가져와
파싱을 할 수 있습니다.
문제는 imap 으로 할 것인가 아니면 pop3 로 할것인가... 지금 고민 중 입니다.

여러분들은 어떠한 방법이 좋다고 생각하십니까?
고견을 감히 부탁드립니다.

codebank의 이미지

설치 활용 QnA보다는 프로그램 QnA쪽이 어울릴 듯한 질문이군요. :)

제가 볼때는 만일 socket을 이용해서 port접근후에 데이터를 수신해서 분석하는
경우라면 pop보다는 imap쪽을 선택할것 같군요.
pop의 경우는 위에 분들이 말씀하신것 처럼 모든 데이터를 전송해야하지만 imap의
경우는 리스트만 받아볼 수도 있고 몇몇 프로그램에 편리한 기능들이 있는걸로 알고
있거든요.
어차피 작업이 서버차원에서 이루어진다면(웹메일이라고 하셨으니... :)) pop보다는
imap쪽이 좋지 않을까 생각됩니다.

------------------------------
좋은 하루 되세요.

maindb의 이미지

pop 도 리스트만 가능하지 않나요?

telnet localhost 110

으로 socket access 해서
list, retr 같은 명령어로 fput 해서 해당하는 것만 뽑아올 수 있는데요.

음... 선뜻 결정을 못내리겠네요.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.