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());
Comments