仕事で Postfix のパフォーマンスを調査中.
VM を作ってテストしているんだけど,
32KB のメールを 2000 件送るのに,8 分近くかかってしまう.
log にでる delay の値は数秒なので,
qmgr から smtp の部分は問題なくて,
送信要求を受けつける smtpd の部分が遅いのだろうけど,
どうすればいいんだろう?
とりあえず,/var/spool/postfix 以下を tmpfs に置いてみたけど,
数十秒程度しか速くならなかった.
やっぱり,実機で試した方がいいのか?
確認してないけど,VMware の仮想 NIC の帯域ってどうなってるんだっけ?
あと,はじめはメールのサイズを気にせず,
for i in `seq 1 2000` do echo $i | mail -s "test mail $i" [email protected] done
とかやってたけど,これだと process が立ち上がりすぎて
load average がはね上がるので,
Ruby で 4 threads で投げるスクリプトを書いてみたり,
別のマシンでスクリプトを実行したり.
明日は
- Postfixパフォーマンスチューニング
http://www.postfix-jp.info/trans-2.3/jhtml/TUNING_README.html
あたりを見ながらいじっていく方向で.
sysctl については,以下のあたりにメモしてある.
- Linuxでネットワークスループットを改善する [2008-02-14-1]
Referrer (Inside):
[2009-04-09-2] Postfix のパフォーマンスその 3
[2009-04-08-1] Postfix のパフォーマンス その2
[2009-04-09-2] Postfix のパフォーマンスその 3
[2009-04-08-1] Postfix のパフォーマンス その2