我有一个缓慢的Apache服务器与SSL 256位证书的问题
ab -n 500 https://example.com/ Time per request 29 ms ab -n 500 http://example.com/ Time per request 10 ms
在这两个请求中都会发送52字节,并且testing是从同一个数据中心中的服务器完成的
SSLEngine on SSLProtocol All -SSLv2 SSLHonorCipherOrder On SSLCipherSuite ALL:!ADH:!EXP:!LOW:!RC2:!3DES:!SEED:!RC4:+HIGH:+MEDIUM
SSL比普通的HTTP请求慢3倍是正常的吗?
你如何testing你的服务器? HTTPS服务器后面运行着什么应用程序? 你的服务器使用什么CPU? 你怎么看,你的问题缺乏很多重要的细节…
无论如何,SSL肯定比“纯”的HTTP要慢一些:公钥encryption比对称密钥要慢一些,这就是为什么pubkey只用于交换私有的对称密钥和信道交换机对称的原因密钥encryption。
HTTPS比较慢,因为它有更多的数据交换(从服务器X.509证书),它有一个安全的数据连接来build立,…
ab可以给'连接'时间,这就是你会看到你的时间差异。 TLS设置需要比没有设置更多的时间。
您需要了解ab和浏览器的区别。 (我不会回答这个问题,因为我对此不够熟悉)。
例如:
Cache-Control: public, max-age=3600, s-max-age=3600 。 如果您专注于这些,那么您可以轻松地使仅HTTPS的站点运行良好且快速。 这就是我所做的只有HTTPS的videostream网站,而且我不必担心SSL连接时间。
是的,HTTPS在build立连接时比HTTP慢大约3倍是正常的。 这里很好读解释为什么 。
网站放缓的原因:
SSL证书带有几个中间证书,可以在握手期间增加数据量。
OCSP和CRL的性能也没有得到纠正,因为一个网站在回复OCSP请求和build立连接时需要1/3秒的时间。
有关快速HTTPS连接的build议:
通过压缩文本内容可以缓解CPU资源的利用率,或者升级当前进程来处理encryption任务。
您需要确保通过HTTPS检索页面上的所有内容。
接受SPDY (Google的开源networking协议)的帮助,以最大限度地减less网页加载时间。
在证书权限方面,CA可以将OCSP和CRL响应时间从300ms 减less到100ms(毫秒)。
CA可以减lessSSL证书中的中间链大小,因为它消耗更多的字节和时间。