ラウンジ(兼FAQ掲示板)

2通配信される[マガジンガー]
過去ログ NO.1166437500
□ ぼすとん [2006年12月15日14時51分]
マガジンガーZver1.01をメルマガ配信に使用させて頂いて居ります。

数人に配信する場合は問題なく配信されます。
一方、100人程に配信すると時間は掛かりますが
「下記の内容で配信されました」と配信結果がブラウザに
表示され問題なく配信されたと思いきや同一内容のメールが
2通配信されます。

皆様のところでは、このような事ございますでしょうか?
□ NXer [2006年12月17日15時51分]

はじめまして。NXerです。

>問題なく配信

できるのに、どうして100人ほどの多数に配信すると同一メールが

1 2重送信になるのでしょうか。あるいは、送信は一度でも、
2 2重に受信することになるのでしょうか。

すえぽんさんの注意書きと関係があるかもしれませんので
引用しておきます。
---------------------------------
メールマガジンの配信登録者数によってはサーバーに
かなりの負荷を与える可能性があります。
-------------------------------------

つまり大量の配信はサーバに高負荷を掛ける、ということです。
そのために
----------------------------------------------
このスクリプトの使用によってサーバー管理者から注意
を受けた場合は、速やかにスクリプトの使用を中止して下さい。
マガジンガーZ v.1.01 (Free Ware)Last Modified:2003/04/10
----------------------
サーバとその仕様が当方には不明ですが、中によく読んでみると
大量メール配信を禁止するとか高負荷CGI厳禁とあれば、絶対しない
ように注意する必要があります。特に1つのサーバを共有する場合は、
他の人々に影響を与えます。

なんでもcgiでこなせるとおもいますが、cgiは100%サーバに
左右されます。

配信速度を決定する要因は、

1 ウェブサーバの処理能力
         (ほぼ一定、しかし、限度がありそうです)
2 回線の容量    (一定)
3 メールのサイズ (小、大)(小数kバイト、大1メガ)
4 メール数    (少、多) 
     あるいは(小量大量)
ではないでしょうか。

サーバの限界をためそうとして、もっと大量の配信テストをしたり
するのは、かなり危険な気がします。環境や目的が不明ですが、
もしメルマガを本格運用のご計画なら、その前に、現象をサーバ
管理人にお伝えして対策をとられてはいかがですか。

□ ぼすとん [2006年12月18日13時49分]
早速のレス誠にありがとうございます。

サーバ構成は、Pentium4-2.8GHz/RAM1024MB/FreeBSDにて稼動致して
おります。httpdはApacheを使用しております。回線は100Mbpsです。
Perlにつきましては、バージョンは5.005_03です。

/CGI実行可能ディレクトリ(705)/

├ /data(705)/
│ │
│ └ data.cgi(644)

├ /lib(705)/
│ │
│ ├ csm_mail.pl(644)
│ │
│ ├ jcode.pl(644)
│ │
│ └ mail_foot.pl(644)

├ /temp(705)/

└ magazine.cgi(705)

ディレクトリ構成とパーミッションは上の通りです。
セキュリティー上666などのパーミッションは使用不可となって居ります。

> 送信は一度でも、2重に受信することになるのでしょうか。
ブラウザから送信ボタンを1度しか押しませんが、サーバが
2度送信しているようです。

現在、膨大なログを解析してますが原因特定に至って居りません。



□ NXer [2006年12月18日19時25分]

>膨大なログ
から不具合の原因が分かるといいですね。NXerです。

以下のデータは、原因の特定に結びつくものではありません。
不具合発生回避のためのデータのつもりです。pdfファイルなど添付
付きメール約300kバイトの受信の例です。受信メールのプロパティ
を見るといくつものサーバを経由しています。それぞれのreceived
受信時刻です。メーラはアウトルックエクスプレスです。
----------------------------------------
Wed, 28 Jun 2006 10:03:35 +0900 (JST)
Wed, 28 Jun 2006 10:03:34 +0900 (JST)
Wed, 28 Jun 2006 10:03:33 JST
Wed, 28 Jun 2006 10:03:33 +0900 (JST)
-----------------------------------------
約2秒経過しています。当方の自作メーラで自分宛の1kバイト
のメールプロパティで経由とそれぞれの受信時間は次のとおり
です。
-----------------------------------------------
Received: Mon, 4 Dec 2006 22:36:59 +0900 (JST)
Received: Mon, 4 Dec 2006 22:36:58 +0900
Received: Mon, 4 Dec 2006 22:36:58 +0900
--------------------------------------------
もし直線的に同一メールを繰り返し配信していると
上の例では2通連続で2秒プラスx2、つまり4秒プラス、10通で
20秒プラス。単一のサーバではなくて複数のサーバを
経由するところで時間がかかっています。おそらくサイズに
比例してプラスアルファも増えると思われます。また、回線
の混雑状況で、当方では午前2時過ぎから通勤登校時間帯直前
まで空(す)いているようです。同じテストでも時間帯で
異なる結果になっていたかも分かりません。
送り出しはコンマゼロ数秒でも前がつまりだすと遅延がはじ
まると思います。

経由するサーバーによっては、接続が一定時間を超えるとなん
らかの規制動作が発動だれることがあることかもしれません。
あるメーラの説明では、切断されて誰まで送信したか把握でき
なくなり最悪の事態になると書いてあります。
sendmail機能がありながら、やはり大量連続配信は問題を内蔵
しているようです。

対策は、分割送信、空き時間帯自動配信などでしょうか。
現在の経由サーバなどは変更されない/できないことから、
10通ずつ増やし、それぞれに自分宛を1通含め、最速ではないに
しても最適の配信数を探します。100人宛てが目標値なら
3分割で同時最多30人宛てになります。それで配信が比較的
短い時間でなされ2度配信が発生しなければ運用可能と思い
ます。

3分割は、
1 magazineger10.cgi magazineger20.cgi magazineger30.cgi
と3本用意して異なる10人宛てずつ起動するという原始的な方法
です。データは共有されると思います。あるいは、

2 アドレスを10人単位で配信するようにプログラム改造をします。

1のよい点は、送信状況を把握できることです。2の場合は
状況を把握するために、10単位ごとに☆一つ表示するなど
して、万一添付画像が重く多いとき、不具合が発生した場合
☆がでないことで分かります。

>perl 5.005_03 です。

2通配信とは直接関係ないと思いますが、この版は、いつごろ
でしょうか。1994年にperl 5が最初にリリースされました。
以前DLしたものでperl 5.6.1 Build638 2002年5.8リリース、
少し前で5.8.8 Build817です。

以上です。
一定時間書込が無かったので過去ログに移りました

suepon.com | CGI作成/CGI制作 | JavaScript | ドメイン検索 | バナー自動作成 | Google ダンスツール | 松浦亜弥 | H.P.memo | パソコン | ネイル

Copyright (C) 2002 - 2008 suepon , All rights reserved. Powered by CGI Script Market.