Perlでのメール送信の遅さ

[上に] [前に] [次に]
もぐ [E-Mail] [HomePage] 1999/03/28(日) 18:42:08
うちの掲示板は投稿があるとそのデータをメール送信してくれるシステムが
あるのですが、はっきりいって、ものすごい遅いのです。

仕組みは、書き込むページをHTMLで作って、データファイルをSSIで
表示させ、組み合わせて、投稿ボタンが押されるとデータファイルを書き換える
という仕組みです。その際、sendmailを使って、メールを送っているのですが、
遅いんです。一回に50秒ぐらいかかってしまうのです。

何か改善策はあるのでしょうか?

PS:ここのラウンジは早いですよね。どういう仕組みなのでしょうか?

匿名希望 1999/03/28(日) 22:02:53
スクリプト見ないと、具体的な指摘は難しいのではないでしょうか。
.htmlにでもリネームしておいて、色んな人に見て貰った方が
建設的な意見が出ると思います。

とりあえず予想の範囲では、
1:スクリプト自体に無駄が多い
2:ロック処理でひっかかってる
3:ネットワーク(WWWページのあるサーバかSMTPサーバ)の回線が細い

普通にSMTPにSocketでメール送るだけなら、
50秒まではかからないと思います。サーバ自体が
弱かったらお話しなりませんが :-)

B-Cus 1999/03/29(月) 02:51:54
> 3:ネットワーク(WWWページのあるサーバかSMTPサーバ)の回線が細い

だとしたら、時間がかかるのは不可避なので、sendmail実行部分を
別スクリプトにして、
 system("nohup my-sendmail.pl &");
とか(この場合はnohupは不必要かな?)。

#  open(SENDMAIL,"nohup sendmail hoge@fuga.com & |");
#  print SENDMAIL "....."
# ってのはうまくいくのかしら。

でもまぁ、念のため、sendmail実行前と実行後の時間を表示させて、
ほんとにそこで時間がかかっているのか確認した方がよいと思います。

[上に] [前に] [次に]