在通过https提供页面时,是否有可能通过廉价的安全证书来限制网站的性能?
背景:我使用Drupal 7和Drupal Commercebuild立了一个电子商务网站。 该网站运行在一个m3.xlarge的Amazon EC2实例上,并且一切都在上周末一直非常快速有效地运行。
上周末,交通量在正常水平(银行假期周末)出现大幅上涨,在该网站上共有50个并发用户。 非安全页面执行得很快,但是当用户从一个http页面(例如篮子页面)转到一个安全的https页面(checkout页面)时,网站变得非常缓慢并且在一些情况下崩溃。 作为一项testing,将交换机切换到https维护站点的性能,并将其恢复运行。
问题:
一般来说,不,SSL性能不与证书的价格(或质量)挂钩。
一个特定的例外是CRL / OCSP分发点应该包含在证书中。 这是指示客户应该去检查证书是否被撤销的属性。
如果在客户端启用了该选项(这不是通常的默认设置),那么为了首次接受证书,必须向OCSP服务器或CRL分发点发出单独的请求。 正弦这些是由CA控制的,性能不佳的服务器会影响你的用户。 但是,因为这是a)通常不能启用,2)只发生在第一次连接,直到caching过期(通常是24小时),它不应该对自己的网站性能有太大的影响。
但是有一点你应该记住,启用SSL(无论使用什么CA)将对性能产生相当大的影响:它将绕过许多caching机制(包括许多CDN ),将负载平衡打破一些延伸并且需要来自服务器的每个用户更多的CPU和内存资源。 对于用户数量较less的服务器而言,除非您的系统体积过小,否则不会有太大的影响。
您的证书对HTTPS页面的速度没有任何影响。
然而,什么会有所作为是由SSL本身造成的开销 – 请参阅此答案以获取更多信息。
您可以通过提供更多的可用功率(即更多vCPU)或更改用于支持更高效的密码的密码集来缓解此问题。 我在我的Apache服务器上使用以下内容,并注意到一个小的(但显着的)性能提升:
SSLCipherSuite RC4+RSA:+HIGH:+MEDIUM:+LOW