常時SSL化によるデメリットの一つ、速度低下についてデータを取りました。
静的ページのhttps化前後比較
browserconfig.xmlへのアクセスタイムをグラフ化し、httpをRewriteでhttpsに書き換え、前後のアクセスタイムを比較します。
httpが1msだったのに対しhttps化により102ms~105msになりました。速度低下の原因はpretransfer time、転送前の処理=httpsのSSLハンドシェイク分だけ時間が掛かっています。
http→https転送による遅延を見る
比較用としてはじめからhttpsでアクセスしたbrowserconfig.xmlの時間も載せてみます。
Cur(直近)のアクセスタイムを比較するとhttp→httpsが102msなのに対しhttps直は98ms。にRewriteすることで約4msほど遅くなっています。
このグラフの後も傾向は変わらなかったので「Rewriteは遅くなる」ということで間違いありません。ただし体感できないレベルですが。
動的ページのhttps化前後比較
riscascape.netのアクセスタイムのグラフです。
これも綺麗に100ms時間が掛かるようになりました。動的ページだからといってSSL化で余計に遅くなる、ということはないようです。
SSLハンドシェイクの100msを削るには?
サイト表示の100ms遅延はぎりぎり体感できるレベル。
SSL処理を高速化するには、証明書失効確認をサーバ側で行うことでSSLパケットの応答回数を減らすことができる「OCSP Stapling」の導入なのですが・・・残念ながらCentOS6.Xに入っているApache2.2系では設定できないようです。標準レポジトリだけで運用するポリシーではこれで限界。お手上げです。