PEARのMailにて、persist有効時のパフォーマンス

PHP

PEARのMailを使って、SMTP接続をしてメール送信をする際、
persistを使ったときと使わなかったときのパフォーマンスを測定しました。

条件

100通メール送信
MTAはqmail

結果

persist利用時: 5.12351703644 sec
persist非利用時: 6.3600769043 sec

結果

persistを使うと1.24134981089459 倍速いです。

以下、テストコード

<?php
/*
* Created on 2007/01/15
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/
include('Mail.php');
require_once('Benchmark/Timer.php');

$timer = new Benchmark_Timer();

$recipients = '[email protected]';

$headers['From']    = '[email protected]';
$headers['To']      = $recipients;
$headers['Subject'] = 'subject';

$body = 'Test message';

// SMTPサーバ
$mail_options = array(
  'host'      => 'localhost',
  'port'      => 25,
  'auth'      => false,
  'persist'   => false
);

// Create the mail object using the Mail::factory method
$mail_object = &Mail::factory('smtp',$mail_options);  // SMTP送信準備

$timer->start();
for($i=0;$i < 100;$i++){
  $mail_object->send($recipients, $headers, $body.':'.$i);
}
$timer->stop();
$timer->display();
print_r($timer->getProfiling());

コメント