Amazon SESへのProxyで確認

「サーバ名がサーバが期待しているものと違っている」旨のエラーになったので、

メーラで「証明書を検証しない」設定が必要だった。

 

stream {

#SMTP
upstream smtp {
server email-smtp.us-west-2.amazonaws.com:587 weight=5 max_fails=3 fail_timeout=30s;
}

server {
listen 587;
proxy_connect_timeout 1s;
proxy_timeout 3s;
proxy_pass smtp;
}

upstream smtps {
server email-smtp.us-west-2.amazonaws.com:465 weight=5 max_fails=3 fail_timeout=30s;
}

server {
listen 465;
proxy_connect_timeout 1s;
proxy_timeout 3s;
proxy_pass smtps;
}

stream {
#FTP
upstream ftp {
server 127.0.0.1:21 weight=5 max_fails=3 fail_timeout=30s;
server 127.0.0.1:10021 weight=5 max_fails=3 fail_timeout=30s;
}

server {
listen 20021;
proxy_connect_timeout 1s;
proxy_timeout 3s;
proxy_pass ftp;
}

 

と思ったら、vsftpd/pureftpd共に、Passiveコマンドで失敗している

227 Entering Passive Mode (160,16,117,208,47,254)
421 Service not available, remote server has closed connection

 

vsftpdは以下設定で回避できたが、

pasv_promiscuous=yes

 

pure-ftpdは回避できるオプションがなさそう。

 

 

同一サーバ、単一PHPから、

ログイン、chdir後、異なる5000ファイルをアップロード

 

vsftpd 3.0.3 from source

pure-ftpd v1.0.30 from yum install

 

pure-ftpdの方が早いみたい。。

 

vsftpd
num : 5000
total : 2.30912 s
one : 0.00046s/req

pure-ftpd
num : 5000
total : 2.0004 s
one : 0.0004s/req

#ファイルとDatabaseの書き込みの差

 

#filesystem read→write

10000ファイル

1.24ms

0.00012ms/req

 

#filesystem append

10000ファイル

0.26852 ms
3.0E-5ms/req

 

#psql insert

1000 insert

0.52306 ms
0.00052ms/req

※ ×10レコードでも大差無い

 

#psql insert

10000 insert

4.29751 ms
0.00043ms/req

vi /etc/exports

# 共有ボリュームのパス, 接続許可ホスト, エクスポートプション (rw) = Read Write
/root/nfs 127.0.0.1(rw,no_root_squash)
/root/nfs 160.16.117.208(rw,no_root_squash)

 

service rpcbind start

service nfslock start

service nfs start