トップページ⇒network
24コメント14KB

Sendmail受信がめちゃくちゃ遅い

■ このスレッドは過去ログ倉庫に格納されています
0001あいかわ NGNG

RedHatLinux6.2Jです。
どのメーラーからも、メールの最初の受信に1分以上かかってしまいます。
二回目以降は素早く受信してくれます。場合によっては、2,3分待たされることも
しばしばです。Sendmailを使っています。
解決策はあるでしょうか。リブートしても症状は同じでした。
メモリは512M、CPUはPIII500Mhzです。
0002名無しさん@そうだ選挙にいこう NGNG
DNSの逆引きか、IDENTでしょうかね。
telnetで直接、sendmailとお話したときはどうでしょうか?
0003someone NGNG
質問の意味が少し分かりずらい。
sendmail---sendmail間の転送はうまく行ってるが、mailとしても
しばらくの間、you have no mailになるわけ?
それとも、sendmail---sendmail間の転送が遅いの?
前者だとよく分からない??
後者だと、例えば発送側のsendmailが-q30mになってるとか、、
0004名無しさん@そうだ選挙にいこう NGNG
>3
-q30mって失敗した場合に30分後にリトライってことでしょ。
関係ないんじゃないかな。
0005someone NGNG
>4
>失敗した場合に30分後にリトライ
これって、dnsのretryですね。
sendmailでは
「キューのなかにあるメッセージを処理する間隔を設定します。」
となってますがネ。実際どうなんでしょう?
http://www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&lc=1&cmd=&man=sendmail&dir=jpman-4.1.0%2Fman&sect=0
0006someone NGNG
5補足
すまん。httpをはりそこなった。
jp.freebsd.orgのmanを見てね。
00074 NGNG
コウモリ本を読み直してみたら、誤解していたみたいです。
キューの中を見て-q時間経過しているメイルの再送を試みる
のかと思っていました。
0008someone NGNG
オライリーsendmail、、、いい本です。
しかし話を戻すと、どこがどう遅いのか状況がよく分からないですね。
0009あいかわ NGNG

1です。返事がおくれてすいませんでした。2〜8の方、ありがとうございます。

>telnetで直接、sendmailとお話したときはどうでしょうか?

telnetで入ったときは問題ないです。

>3

うう、すいません、実はsendmailは業者に設定してもらったため、
あまりよく理解していなかったりします(ごめんなさい、こんな管理者で(;´д`))
その業者が倒産してしまったので、途方に暮れてます。

質問の意味がわかりづらかったでしょうか。すいません。
たとえば、朝、出社して、Windows98、もしくはマックを起動して、
クライアントのメーラー(たとえば、ダチュラとか)を立ち上げ、
受信ボタンを押すと、最初の質問にあったとおり、しばらく待たされて、
受信を開始する…という具合です。
(一丁前に自前のLinuxサーバーと専用線の環境です)
ただ、それ以降は、受信ボタンを押してもスイスイと受信してくれます。
Macの場合はなぜかもっと遅く、1分ちかく待たされることもあり、メールが
届いていませんなんていうアラートも出てきます。

サーバーを設置した当初はこのような現象はおきていませんでした。
ここ、2,3ヶ月の間の話です。サーバーは設置して約半年ほどです。
(RedHatLinux6.2発売時期と同時です)
Linuxの基本操作はとりあえずできます。たとえば、ログやスプールファイル
がたまりすぎているとか、何かの設定ファイルがイカれてるとか、考えられるでしょうか。

0010Five NGNG
最初が遅いというのはともかく、いつどの時点で「また受信まで待たされる」ように
なるのか興味があります。
逆引きに時間がかかっているような印象があります。当該サーバーにログインして
nslookup <適当なあなたのネットワークに属するアドレス>
と打ってみて、すぐ返事が返ってきますか?。ひょっとしてダイアルアップ経由で
Internet 接続をしていて外部のネームサーバーに聞きにいったりしていませんか?

毎回遅いということなら、サーバーにメールを残す設定になっていて、メールの数が
多すぎるんじゃないかとか予想するのですが。

ちなみにこれは sendmail の問題ではなく、pop3 のサーバープログラムの問題です。
pop3 のサーバーに何を使っているわかりませんか?。
0011あいかわ NGNG

Fiveさんありがとうございます。

>nslookup <適当なあなたのネットワークに属するアドレス>

これは、すぐにレスポンスがかえってきました。

>。ひょっとしてダイアルアップ経由で
>Internet 接続をしていて外部のネームサーバーに聞きにいったりしていませんか?

ええと、OCNを使っていますので、ダイアルアップ環境ではありません。

>毎回遅いということなら、サーバーにメールを残す設定になっていて、メールの数が
>多すぎるんじゃないかとか予想するのですが。

これも、すべてダウンして、サーバのメールをすべて削除する設定にしています(クライアントすべて)
(しかし、/etc/mail/spoolに、各ユーザーのスプールファイルが残っていて、
けっこうなファイルサイズになっているものがありました。これが問題でしょうか?削除しても大丈夫なのでしょうか?

>pop3 のサーバーに何を使っているわかりませんか?。

rpm -qa で、popのつくものを確認したところ、

popt-1.5-0.48
qpoper-2.53 -pam-4
とでました。

qpoper-2.53はインストールする時、他のpopサーバーを使う予定でしたが、
マッククライアントが正しくメールを受け取らない問題があったようで、
こちらを使う、というのを覚えています。

0012Five NGNG
telnet で pop3 と話してみたらどうなります?

telnet hoge.host 110
Trying www.xxx.yyy.zzz...
Connected to hoge.host
Escape character is '^]'.
+OK hoge.host ZZZZ POP3 vx.y.z server ready
user FIVE
+OK Name is a valid mailbox
pass PASSWORD
+OK Maildrop locked and ready
stat
+OK 363 2477584
quit
+OK
Connection closed by foreign host.
bash$

最初の "server ready" が出てくるまでの時間と、認証にかかる時間と
"stat" したときの時間をそれぞれストップウォッチで調べてみましょう。

それと同時に telnet でホストに入っておいて、top でどのプロセスが
CPU 時間を食っているかを調べてみましょう。
0013あいかわ NGNG

fiveさんありがとうございます。

残念なことに、Windows98のtelnetでは、
+OK QPOP (version 2.53) at ns.hogehoge.co.jp starting. <[email protected]>
-ERR POP timeout
+OK Pop server at ns.hogehoge-.co.jp signing off.

と出てしまいました。ただし、メールクライアントは、問題なく未読メールを読みにいきます。

topで調べたところ、一番timeの大きかったのは、namedでした(0:20。他は、0:05〜10程度)

0014ひつじさん NGNG
timeoutの状況を見ると、DNSの逆引きに失敗しているんだと思います。
サーバーの/etc/resolv.confの記述がおかしいんでしょう。

設定した業者が倒産したという話ですので、もしかするとその業者の
ネームサーバーを見に行くような設定が入っているかもしれません。
業者のサーバーはすでに無いでしょうから、timeoutしてしまう・・・と。
でもそれだと毎回timeoutしてしまうか?

またはDHCPがうまく機能していないのかも? 最初だけ遅いというの
だから、DHCPでクライアントがIPアドレスを取得するのに時間が
かかっているのかもしれないです。
0015あいかわ NGNG
>14ひつじさん ありがとうございます。
逆引きですね、、なるほど。。今、resolv.confの内容をのぞいているんですが、
どのあたりを怪しめばよろしいでしょうか?
あと、DHCPは使っていないです。すべてスタティックに割り当てています。
0016ひつじさん NGNG
nameserverの行に、ネームサーバのIPアドレスが書いてあります。
通常はネームサーバである自分自身のIPアドレスと、
ISPから指定されたネームサーバのIPアドレスが
記述されているはずです。この順番がおかしいか、変なIPが
混じっているか。
0017あいかわ NGNG
>16
ありがとうございます。

調べてみました。
serach hogehoge.co.jp
nameserver ***.***.***.*** <--自分ところのns
nameserver ///.///.///./// <--指定されたns(OCNえこのみ)

になっています。OCNから指定されたIPは、pingを打ったところ
問題なく返してきました。遅くはありません。

この2つの順番をかえちゃっても問題ないのでしょうか?

0018名無しさん@そうだ選挙にいこう NGNG
自分のとこのDNSサーバがちゃんと動いていないんじゃないの?
ログにエラーとか吐いてない?設定大丈夫?
0019ひつじさん NGNG
逆にしても問題ないですよ。もしそれで早くなったとしたら、
自分のところのDNSがおかしい、ということになりますね。

早くならないのだとすると、自分のところのDNSサーバに
クライアントのPCのIP逆引き設定があるかどうかを
チェックしてみてください。
0020fusiansan NGNG
うーん、Iい流れだ
0021あいかわ NGNG

>19
ひつじさん
毎回ありがとうございます。お礼においしい紙を1年分…(失礼(;´д`))

>自分のところのDNSサーバに
>クライアントのPCのIP逆引き設定があるかどうかを
>チェックしてみてください。

たびたびすいません、どこをみればよろしいでしょうか。
一般的な例を教えてください。


>18

>ログにエラーとか吐いてない?設定大丈夫?

ふつう、どういったエラーが出るでしょうか。エラーファイルもどれを
観ればよろしいでしょうか。

#ネットワークなどの書籍を読みあさっていますが、いかんせん、突然訪れた
#ことですので、なかなか上達しません。ご迷惑おかけします。
0022ひつじさん NGNG
nslookup 自分のクライアントPCのIPアドレス
これでエラーが帰ってこなければ逆引き設定は入っています。
RedHatなら、/var/named/ディレクトリに設定ファイルが
あります。ファイル名はケースバイケースなんでわからないですが、
/etc/named.bootか/etc/named.confを見ればわかるかと。

ログファイルは、/var/log/maillogかなあ?
0023あいかわ NGNG

>22
ひつじさん。ありがとうございます。

>nslookup 自分のクライアントPCのIPアドレス

やってみましたところ、
*** hogehoge.co.jp can't find 192.168.1.10: Non-existent host/domain

とでました。自分のところDNSのIPを打ってみたところ、正しく
返ってきたので、逆引き設定が入っていない、ということですね。。。

あれ、この、nslookupに入力する自分のクライアントPCのIPですが、、
クライアントと、DNSの動いているサーバーの間には、防火壁が動いてます。
(ひょっとして、防火壁が何か悪さしてるのかなぁ?)

いま、named.confをみているのですが、最後のほうに、
zone "**.**.**.**.in-addr.arpa"
とはじまる行がありました。これが逆引きの設定でしょうか?
IPアドレスは、DNSの動いているサーバーのIPではなく、
おそらく、OCNから与えられているIPの一番若い番号だとおもいます。
ログはこれからみてみます。忙しい中ありがとうございます。
0024ひつじさん NGNG
逆引き設定を入れると、うまく動くようになるかもしれませんネ。
.in-addr.arpaで終わるzoneは逆引きです。ということは、
プライベートIP(192.168.1.*)のための逆引きは設定が
ないようですね。
■ このスレッドは過去ログ倉庫に格納されています