fchiba memo

2009年07月

Amazon EC2とGoogle App Engineについて、転送量に関するスペックは公開されているものの、ネットワーク帯域に関する情報はみつからなかったので測ってみた。

計測にはapache benchを使用。いずれも約70KByteのデータをHTTPでダウンロード。
クライアントは日本国内からフレッツ光で接続。
条件をちゃんとそろえているわけではないのであくまでも参考値。

・Amazon EC2 (Small Instance1台)
レスポンス 1.5s
スループット >700KB/s(?)

さすがに海の向こうなのでレスポンスは遅い。(PC向けだとちょっと気になるが、携帯電話向けサービスなら我慢の範囲内)
しかし、コンカレンシーをあげるとスループットはそれなりに伸びる。
コンカレンシー60あたりで伸びがゆるくなったが、クライアントに先に限界が来たか???

・Google App Engine
レスポンス 0.5s
スループット 2000KB/s

レスポンスは優秀。きっと日本国内にデータセンターがあるのだろう。
abでコンカレンシーを増やしても、2000KB/sで頭打ちに。
転送量は金払えば増えるけど、帯域はどうなんだろ。

(参考)
・さくら専用サーバーエントリー(10M共有回線)
レスポンス 0.5s
スループット 1000KB/s

opensslで内部用のCAを作るときに、CAシェル(/etc/pki/tls/misc/CA)とopenssl.cnfをカスタマイズする必要があるが、
そのときのメモ。(CentOS 5で実行)



・openssl.cnf
設定の内容は、
http://www.technoids.org/openssl.cnf.html
を参照。

・ca, req, x509 コマンドで参照される
・caコマンドでは[ca]セクションが、reqコマンドでは[req]セクションが読み込まれる
・内部で他のセクションを参照できる
・-name, -extensions といったオプションで、参照設定を上書きできる
・デフォルトでは、caコマンドはusr_certセクションを、reqコマンドはv3_caセクションを参照している。



・CA
環境変数のCATOPはnewcaでディレクトリを作るときのみ使われる。あとは、openssl.cnfの値が使われる。
CAKEY, CAREQ, CACERTは相対パスでないといけない。

設定ファイルをカスタマイズした場合、
SSLEAY_CONFIG="-config ファイル名"
とする。

newcaは、
1.秘密鍵とCSRの生成
2.1.で生成したCSRに、同じく1.で生成した秘密鍵で自己署名
という手順を踏む。
2.の署名はcaコマンドを使うため、そのままではopenssl.cnfのusr_certセクションを参照してしまい、CA用の証明書が生成されないにならない(basicConstraints=CA:FALSEになってしまう)。
多くのサイトでは、usr_certセクションを直接書き換えて対応しているが、v3_caセクションを参照するようにした方がエレガントではないかと思う。
ということで、
            $CA -out ${CATOP}/$CACERT $CADAYS -batch -extensions v3_ca \
-keyfile ${CATOP}/private/$CAKEY -selfsign \
-infiles ${CATOP}/$CAREQ

とした。

このページのトップヘ