https性能优化

为什么HTTPS比HTTP性能要差

HTTPS在进行数据传输前,需要进行握手,其中需要涉及到各种加密算法,握手过程中最耗时的地方在ServerKeyExchange,它对性能的影响占了75%左右。

  • 证书校验:RSA,ECDSA
  • 非对称密钥交换:RSA,ECDHE_RSA
  • 对称加解密:RC4,3DES,AES,AESGCM
  • 消息认证码:SHA

选择合适的算法

  • 证书校验:ECDSA>RSA
  • 非对称密钥交换:ECDHE_RSA>RSA
  • 对称加解密:2010年之后的Intel CPU支持AES-NI加密,可提升加解密速度

会话复用

使用Session ID或者Session Ticket实现会话复用,减少握手次数。

将耗时的算法分离出去

服务器安装专用的SSL/TLS硬件加速卡或者将消耗CPU大的算法转移到其它机器,降低CPU消耗。

TLS False Start

启用TLS False Start可以节省一个RTT时间,但是客户端和服务端都需要支持NPN/ALPN,需要采用支持前向保密的密码套件,即使用ECDHE进行密钥交换。

SPDY/HTTP2

SPDY/HTTP2通过多路复用技术减少了握手次数。

你可能感兴趣的:(网络编程)