ログ日記

作業ログと日記とメモ

JavaMailは遅くなかった

http://d.hatena.ne.jp/n314/20101118/1290101208
Postfixが遅かった。
原因は不明。 下に追記


開発マシン

time /usr/sbin/sendmail -t < /tmp/body.txt

real    0m0.032s
user    0m0.004s
sys     0m0.008s


サーバー

time /usr/sbin/sendmail -t < /tmp/body.txt

real    0m0.082s
user    0m0.004s
sys     0m0.004s


同じHWのサーバー

time /usr/sbin/sendmail -t < /tmp/body.txt

real    0m0.008s
user    0m0.004s
sys     0m0.004s


この違いは…。
user + sys と real の差は一体何だろう。



straceやtcpdumpなどを眺めているが未だに原因が分からず。
vmstatの結果は少し違う。


開発マシン

vmstat 1
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 0  0 705312 184984 278020 348600    1    1     0     1    1    1  3  2 95  0
 0  0 705312 184976 278020 348600    0    0     0     8   73 1190  4  1 94  0
 0  0 705312 184976 278020 348600    0    0     0     0   88 1269  4  1 95  0
 0  0 705312 184976 278020 348600    0    0     0     0   65 1298  5  2 93  0
 0  0 705312 184952 278024 348604    0    0     0   456  202 2501 14  2 84  0
 0  0 705312 184944 278024 348604    0    0     0     0  183 5961 16  5 79  0
 0  0 705312 184864 278024 348604    0    0     0     0  161 7605 33  9 58  0
 0  0 705312 184520 278024 348604    0    0     0     0  124 4470 24  8 68  0
 5  0 705312 183164 278024 348604    0    0     0     0  124 4635 23  7 70  0


サーバー

vmstat 1
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 0  0      0 2741248 154124 2390480    0    0     0     4    2    2  0  0 100  0
 0  0      0 2740248 154124 2390480    0    0     0     0 1978 1278  0  1 99  0
 0  0      0 2740336 154124 2390480    0    0     0     0 1989  866  0  0 100  0
 0  0      0 2740496 154124 2390480    0    0     0     0 1809  674  0  0 100  0
 0  0      0 2740496 154124 2390480    0    0     0     0 1807  686  0  0 100  0
 0  0      0 2741612 154124 2390484    0    0     0     0 1852  696  0  0 100  0
 0  0      0 2740868 154124 2390488    0    0     0     0 1450  541  0  0 100  0
 0  0      0 2740212 154124 2390488    0    0     0     0 1937  862  0  0 100  0
 0  0      0 2740248 154124 2390488    0    0     0     0 1831  680  0  0 100  0
 0  0      0 2740248 154124 2390488    0    0     0     0 1810  669  0  0 100  0
 0  0      0 2737628 154124 2390492    0    0     0     0 1975  834  0  0 100  0

同じHWのサーバー

vmstat 1
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 0  0      0 914648 268996 4328256    0    0     0     8    1    1  0  0 100  0
 0  0      0 914640 268996 4328256    0    0     0     0  407  109  0  0 100  0
 0  0      0 914648 268996 4328256    0    0     0     0  174  102  0  0 100  0
 0  0      0 914656 268996 4328256    0    0     0   132  150  114  0  0 100  0
 0  0      0 914672 268996 4328256    0    0     0     0  115   93  0  0 100  0
 0  0      0 914672 268996 4328256    0    0     0     0  109   90  0  0 100  0
 0  0      0 914672 268996 4328256    0    0     0     0  111   96  0  0 100  0


何もしていない状態でコレ。
サーバーtomcatや各種デーモン、あとDRBDとheartbeatも動いているので、その辺のせい?プロセスの個数やCPU負荷は高くないが、systemの値が高い。と言っても微々たるものな気がするが…0.1秒以下の処理には影響するのか?それともDRBDの通信?ネットワークの構成もちょっと違う。sendmailコマンドの実行時間にネットワーク環境って影響するのかな。
デーモンの影響だとすると、こればっかりはどうしようもないので別のSMTPサーバーを使うのがいいか…。



追記
DRBDを切ったら速くなった。

time /usr/sbin/sendmail -t < /tmp/body.txt

real    0m0.019s
user    0m0.008s
sys     0m0.000s

http://www.postfix-jp.info/ML/arc.1/msg00958.html
これか…。キューのファイルはsyncされるんだね。
このディレクトリをDRBDから外すべきか…。