• 締切済み

謎の性能向上

メーラとメールサーバの間に立たせてメーラ から流れてくるメールの内容を編集する プロキシを自作したんですが、性能を測定すると 奇妙な結果が得られました。 始め、テストメールを作成し、 2.5Mのファイルを添付してプロキシの 中継なしに送信したら送信時間は28秒でした。 次に、同じメール内容でプロキシを中継させると 3秒で送信できてしまいました。 SMTPログを見ても全く同じセッション 内容なので通常、プロキシを中継させた方が 時間かかるはずなのに加速した理由がわかりません。 調査のとっかかりが全く無い状態なので どなたか原因のわかる方はいらっしゃら ないでしょうか?

noname#11716
noname#11716

みんなの回答

  • aton
  • ベストアンサー率47% (160/334)
回答No.2

送信時間の測定方法はわかりました。 ところで,10回の平均×2セットの測定はされたでしょうか? なぜこうした測定法を勧めたかというと,28秒対3秒という差は余りにも大きいので,最初にプロキシ無しで送信した時はサーバーの(MTAの)起動処理に時間がかかったのではないかと想像したからです。 サーバーのMTAの実行形態がどのようになっているのかわからないので,この想像は全く的外れの可能性もあるのですが,いずれにせよ一回の計測ではなく平均で比較することは性能評価において重要なことなので,試してみてはどうでしょうか?

noname#11716
質問者

補足

すいません。 この測定結果は50回以上の測定値の平均を出したものです。

  • aton
  • ベストアンサー率47% (160/334)
回答No.1

何を計って送信時間としているのか,プロキシでどんな編集操作をしているのかなど,不明な点が多いので答えにくいのですが..。 とりあえず,プロキシ有りと無し,それぞれ10回ずつ計り,前後を入れ替えてもう一度計って,その平均を調べてみてください。

noname#11716
質問者

補足

回答待っていました。 もう半分諦めていたのでありがたいです。 ご指摘の件ですが、 送信時間は以下のようにして計測しました。 メーラはOutlookExpressを使用し、そのログ 機能を使用して、HELOコマンド発行から Message accepted for deliveryメッセージを メーラがレシーブ完了までの時間を送信時間 としました。 #プロキシはサーバからのメッセージを レシーブしてそのままメーラに送っています。 また、プロキシ使用時はメーラの接続先 ホストをlocalhostにしてポートをハイポート に指定しました。 プロキシはそのハイポートでレシーブし SMTPポート25番でメールサーバに送信 しています。 これで計測環境はわかりますでしょうか?

関連するQ&A

  • SMTPが送信して、POP3が受信する場合、メールを転送するのはどこですか?

    メールをSMTPから送信した場合、いくつかのメールサーバを中継してSMTPに届き、POP3で取り出す場合、他のSMTPから送信されたメールも自分のSMTP内に中継するときにたまってるんですか? このときどのくらい自分のSMTPにとどまりますか?

  • ポストペット設定

    メーラーでポストペットを使用していますが、今まで送信できていたのにもかかわらず急に送信エラーがでる用になり送信できなくなりました。 これはソフトがおかしくなってしまったのでしょうか? 使用PC MACOS 10.3.2 使用機種 imac G4700 使用メーラ PostPet3.352 エラー内容 SMTPセッション中にエラーが発生致しました。Relayoperation rejected

    • ベストアンサー
    • Mac
  • qmailのパフォーマンス向上方法について

    Linuxサーバでqmail(MTA)を構築しています。 CPUはPIII-1G、メモリは512MBです。 1000件のメール送信パフォーマンステストをしたところ、 3分30秒もかかってしまいました。 tcpserverを使ってsmtpデーモンを起動したり、 tcpserverの起動オプションを変更したり、 /var/qmail/control/配下の制御ファイルを調整したりしていますが、 1000件メール:4分30秒から3分30秒と、 たったの1分しかパフォーマンス向上できませんでした。 聞くところによると、1分で7000件も送信することも可能だとか? そこで、qmailを使ったメール送信(smtp)のパフォーマンス向上をするための (より詳しい)テクニック・または参考ホームページなどをお教えいただければと思います。 よろしくお願いいたします。

  • メーラーを使わずExcelだけでメール送信できる?

    とあるログファイルを取り込んで、条件にマッチしたらメールを飛ばすというマクロを考えているんですが、Outlookと連携させるとそれも可能なようです。 ただ、これ、メーラーを使わずExcelだけでメール送信できないのかな~?と欲が出てしまいまして(^_^; まあ表計算ソフトに期待し過ぎという話にもなると思うんですが、メーラーに設定するようにSMTPサーバやヘッダなどの情報を送るだけだと思うんで、何だかできそうな気もするんですよね。 でも調べてみても全然情報が出てこないし、さすがにExcelのみでメール送信までは無理でしょうか?

  • 同一ドメイン宛てに限ってメール送信できない原因は?

    WebARENA SuiteXのメールサーバーを利用して、 独自ドメインのメールを使っています。 出張先(中国)にてメール送信をしようとしたところ、 同一ドメインのメールアドレスに限ってメール送信できません。 エラーメッセージが出て、メールは送信箱に残ったままです。 他のドメイン宛てメールは送信できます。 WebARENAのSMTPサーバーのアクセスログを調べてもらったところ、 同一ドメイン宛のメール送信はログがありませんでした。 OSはWinXP、メーラーはBecky!Ver.2です。 エラーメッセージはBeckyのポップアップメッセージで 「メール送信中にネットワーク障害が発生しました。 回線またはサーバーのトラブルの可能性があります。」 というものです。 これはSMTPポートの設定が違う時に出るメッセージらしいのですが、 異なるドメイン宛には送信できているので、メーラーの設定は 合っていると思います。 どなたか同様のケースをご存知でしたら、その時のエラーの原因を 教えていただけないでしょうか。

  • 【smtp.live.com への接続エラーが発生しました】

    【smtp.live.com への接続エラーが発生しました】 hotmailのアドレスに届いたメールを、EdMaxというメーラーで受信しています。 これまで、問題なく送受信できていたのですが、昨日あたりから、送信ができなくなってしまいました。 (受信はこれまで通り可能です) 送信時に、「smtp.live.com への接続エラーが発生しました」というエラーが発生し、以下の内容が表示されます。 --------------- STARTTLS 503 5.5.2 Only one STARTTLS command can be issued per session Connect smtp.live.com 587 EHLO live.com 0 STARTTLS 0 --------------- hotmailはたまに送信エラーが起こるものの、一時的なもので、再度送信すれば大丈夫だったのですが、 今回の問題は何度やってもダメで、丸1日経っても解決しません。(マシンも再起動しました) ちなみに、ブラウザでhotmailにログインし、そこからの送信は可能でした。 メーラーでの送信ができなくなったのは何が原因で、どうすれば解決するのでしょうか? 教えて下さい。

  • プロキシ経由でjavamailを使ってyahooにメール送信

    社内から社外へのネットワーク通信(インターネット)にはプロキシをかませています。 この環境下で、社内で、Javamailを使い、yahooへメール送信を行いたいと思っております。 ソースは以下です。 ---------------------------------------------------------------- //初期設定 Properties props = new Properties(); //接続するSMTP props.put("mail.smtp.host","smtp.mail.yahoo.co.jp"); //SMTP before POP3対応 props.put("mail.smtp.auth", "true"); //ポートの設定 props.put("mail.smtp.port", String.valueOf("25")); Session sess = Session.getInstance(props); MimeMessage mimeMessage = new MimeMessage(sess); //送信元メールアドレスと送信者名を指定 mimeMessage.setFrom(new InternetAddress("xxx@xxx.co.jp","name","iso-2022-jp")); //送信先メールアドレス指定 mimeMessage.setRecipients(Message.RecipientType.TO, "xxx@yahoo.co.jp"); //SUBJECT mimeMessage.setSubject("メールテスト","iso-2022-jp"); //SEND DATE mimeMessage.setSentDate(new Date()); //CONTENTS mimeMessage.setText("日本語OK?\n改行\n","iso-2022-jp"); Transport transport = sess.getTransport("smtp"); //認証用ユーザ名とパスワードを設定しコネクト transport.connect(null,"user name","password"); //メール送信 transport.sendMessage(mimeMessage, mimeMessage.getAllRecipients()); transport.close(); ---------------------------------------------------------------- 実行すると、Unknown SMTP host: smtp.yahoo.co.jp というエラーが出ます。 社外への通信は一度プロキシサーバを経由しているのが原因ではないかと思うのですが、どうしたらいいか分かりません。 どなたかご教授願います。

    • ベストアンサー
    • Java
  • yahooアカウント追加の動きについて

    自宅のメーラへyahooアカウント追加し、自宅メールアドレスへ送信するとfromがyahooアカウントで自宅のールアドレスに届きます。アカウント追加時にサーバの種類(受信サーバ名/送信サーバ名)を設定しますが、その際、メール送信はプロバイダのSMTPサーバを経由してyahooのSMTPサーバと中継されるのでしょうか?なぜ、そのようなことをお聞きするのかと言いますと、プロバイダがぷららなので、IEの場合は、ぷららの認証サーバで許可されてPCで閲覧できますよね。なので、メールもそうなのかな?と思いまして・・・。お願いします。

  • Windows Liveメールのログについて。

    Windows Liveメールのログについて。 現在、Windows 7 Home PremiumでWindows Liveメール2011を使っています。以前はWindows XPでOutlook Expressを使っていましたが、smtp.logという送信ログが作成され、送信したメールの送信日時だけでなく、相手先のメールアドレスも記録されており、重宝していました。Windows Liveメールでも、このようなログは作成されるのでしょうか。自分なりに探して、windowslivemail.logというものを見つけましたが、 smtp.logのような記録内容はありませんでした。Windows Liveメールでもログは作成されているのでしょうか。もし作成されていたら、どのようなファイル名で、通常はどのフォルダーに格納されるのでしょうか (設定は一切変更していません)。または、ログ作成のための設定が必要でしたら、設定方法を教えてください。

  • POP before SMTP 誰がするのか?

    メールサーバーの認証制度がPOP before SMTPである場合、SMTP送信する前にメールのPOP受信をしろと物の本に書いてあります そこで質問? 誰が実際にPOP受信をするのですか? メールサーバーがPOP before SMTPである時、メーラーが送信依頼を受付けるとメーラー自信の判断でPOP受信をするのですか? それともメーラーのユーザがマニアルで受信操作をしなくてはならないのですか? 基本中の基本の事柄なのでしょうが、あまりにも基本過ぎて調べても出てきません、教えてください 追伸】POP before SMTP認証を使用しているメールサーバーは多数あるのでしょうか? 私の周りではSMTP認証ばかりのような気がするのですが・・・・・