アカウント名:
パスワード:
昨今のネットワークの性能からすると、HTTPやPOP3はとても性能が悪いです。
メール容量にしたら、たった2MBほどなんでftpで/var/mail/${USER} を持ってきたら(帯域次第ではあるが)一瞬で転送が終るのだが、POP3を通すと、1. メールを取得, 2. メールのフラッシュ, 3. ローカルの処理待ちを届いたメールの数だけ繰り返す、なおかつ、その度にprocmailをforkするんで遅くて仕方がないです。
ネットワークの遅延を100ms, サーバのレスポンスを50ms, procmailのforkと処理の時間を100msとすると、1つのメールあたり250msかかることになり、2000通メールがたまっていると、どれだけ帯域が広
ほかの人も書いているけど、それは、POP3 の話じゃなくて 特定の POP3 サーバーかクライアントの実装の話ですよね。
POP3 サーバーを Dovecot にでもして、メールボックス形式を maildir か何か(mbox 以外) にでもしたらどうですか。(Qpopper あたりを利用して遅いとか言っているんじゃないかと邪推 :-p)
> 同時にメールを取得して同時にメールをフラッシュできるようなプロトコルが
「メールのフラッシュ」って、具体的にどこのどんな動作のことを指していますか?
POP3ですと、USER, PASS, STAT, LIST, RETR, DELEの順番にリクエストしていくわけですが、RETRを送った後にOK+Octets数のステータスを受信するまでに次のRETRを発行しても問題なく動作するものなのでしょうか?
また、最近は実際にそのようなリクエストの出し方をしているメーラが多いのでしょうか?
もし、このようなリクエストの出し方ができるのであれば、プロトコルの限界ではなく、指摘の通り、特定のメーラの実装の話です。
「メールのフラッシュ」とは、RETRを実行した後に実行するDELEおよびその完了動作を指して使っています。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
私はプログラマです。1040 formに私の職業としてそう書いています -- Ken Thompson
HTTPだけじゃなくてPOP3も高速化してほしいな (スコア:3, 興味深い)
昨今のネットワークの性能からすると、HTTPやPOP3はとても性能が悪いです。
メール容量にしたら、たった2MBほどなんでftpで/var/mail/${USER} を持ってきたら
(帯域次第ではあるが)一瞬で転送が終るのだが、POP3を通すと、
1. メールを取得, 2. メールのフラッシュ, 3. ローカルの処理待ち
を届いたメールの数だけ繰り返す、なおかつ、その度にprocmailをforkするんで
遅くて仕方がないです。
ネットワークの遅延を100ms, サーバのレスポンスを50ms, procmailのforkと処理の
時間を100msとすると、1つのメールあたり250msかかることになり、2000通メールが
たまっていると、どれだけ帯域が広
Re: (スコア:1)
ほかの人も書いているけど、それは、
POP3 の話じゃなくて 特定の POP3 サーバーかクライアントの実装の話ですよね。
POP3 サーバーを Dovecot にでもして、メールボックス形式を maildir か何か
(mbox 以外) にでもしたらどうですか。
(Qpopper あたりを利用して遅いとか言っているんじゃないかと邪推 :-p)
> 同時にメールを取得して同時にメールをフラッシュできるようなプロトコルが
「メールのフラッシュ」って、具体的にどこのどんな動作のことを指していますか?
Re: (スコア:1)
POP3ですと、USER, PASS, STAT, LIST, RETR, DELEの順番にリクエストしていくわけですが、
RETRを送った後にOK+Octets数のステータスを受信するまでに次のRETRを発行しても問題なく
動作するものなのでしょうか?
また、最近は実際にそのようなリクエストの出し方をしているメーラが多いのでしょうか?
もし、このようなリクエストの出し方ができるのであれば、プロトコルの限界ではなく、
指摘の通り、特定のメーラの実装の話です。
「メールのフラッシュ」とは、RETRを実行した後に実行するDELEおよびその完了動作を指して
使っています。
Re:HTTPだけじゃなくてPOP3も高速化してほしいな (スコア:2, 参考になる)
> RETRを送った後にOK+Octets数のステータスを受信するまでに次のRETRを発行しても問題なく
> 動作するものなのでしょうか?
昔 POP3 server の実装やりました。
これは POP3 server と client の実装によります。
規格的に言うと POP3 server と POP3 client の両方が PIPELINING capability を実装している場合には上記動作が可能になります。(cf. RFC2449)
ということで規格の方はずっと昔に既に拡張済み。
# それよりも(世の中にあふれている?)行バッファリングでパケットを送る駄目 POP3 server の方が本当の問題だと思う