系统性能调优必知必会
陶辉
智链达CTO、前阿里云高级技术专家
立即订阅
4770 人已学习
课程目录
已更新 22 讲 / 共 34 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 万变不离其宗,性能优化也有章可循
免费
基础设施优化 (6讲)
01 | CPU缓存:怎样写代码能够让CPU执行得更快?
02 | 内存池:如何提升内存分配的效率?
03 | 索引:如何用哈希表管理亿级对象?
04 | 零拷贝:如何高效地传输文件?
05 | 协程:如何快速地实现高并发服务?
06 | 锁:如何根据业务场景选择合适的锁?
系统层网络优化 (7讲)
07 | 性能好,效率高的一对多通讯该如何实现?
08 | 事件驱动:C10M是如何实现的?
09 | 如何提升TCP三次握手的性能?
10 | 如何提升TCP四次挥手的性能?
11 | 如何修改TCP缓冲区才能兼顾并发数量与传输速度?
12 | 如何调整TCP拥塞控制的性能?
13 | 实战:单机如何实现管理百万主机的心跳服务?
应用层编解码优化 (5讲)
14 | 优化TLS/SSL性能该从何下手?
15 | 如何提升HTTP/1.1性能?
16 | HTTP/2是怎样提升性能的?
17 | Protobuf是如何进一步提高编码效率的?
18 | 如何通过gRPC实现高效远程过程调用?
期中考试周 (3讲)
期中考试|行至半程,你的收获如何呢?
加餐1|特别福利:陶辉视频课精选
加餐2 |答疑精选:这些问题你都清楚吗?
系统性能调优必知必会
15
15
1.0x
00:00/00:00
登录|注册

14 | 优化TLS/SSL性能该从何下手?

陶辉 2020-05-29
你好,我是陶辉。
从这一讲开始,我们进入应用层协议的处理。
信息安全在当下越来越重要,绝大多数站点访问时都使用 https:// 替代了 http://,这就是在用 TLS/SSL 协议(下文简称为 TLS 协议)来保障应用层消息的安全。但另一方面,你会发现很多图片类门户网站,还在使用 http://,这是因为 TLS 协议在对信息加解密的同时,必然会降低性能和用户体验,这些站点在权衡后选择了性能优先。
实际上,TLS 协议由一系列加密算法及规范组成,这些算法的安全性和性能各不相同,甚至与你的系统硬件相关。比如当主机的 CPU 支持 AES-NI 指令集时,选择 AES 对称加密算法便可以大幅提升性能。然而,要想选择合适的算法,需要了解算法所用到的一些数学知识,而很多同学由于忽视了数学原理便难以正确地配置 TLS 算法。
同时,TLS 协议优化时也需要了解网络和软件工程知识,比如我们可以在网络的不同位置缓存密钥来优化性能。而且,TLS 协议还可以优化其他应用层协议的性能,比如从 HTTP/1 升级到 HTTP/2 协议便可以通过 TLS 协议减少 1 个 RTT 的时间。
优化 TLS 性能究竟该从何下手呢?在我看来主要有两个方向,一是对称加密算法的性能优化,二是如何高效地协商密钥。下面我们来详细看看优化细节。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《系统性能调优必知必会》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(6)

  • Geek_007
    TLS1.3 感觉其实也不是优化特别大,TLS1.2 有False Start,也能做到1RTT,至于0RTT,现在主流的CDN应该也还有很多厂家不支持PSK,所以0RTT的效果也不一定好。
    课后题:
    1、ECC证书应该算是一种优化,因为证书更小,加解密更快。(不过好像因为客户端公钥太长,对客户端不友好,尤其是移动端)
    2、算法分离、使用硬件加速卡代理计算。可以极大减轻接入层压力。
    3、去掉证书链中的根证书(证书链太长可能会导致多一个RTT,毕竟TCP还在慢启动)
    4、还是保持连接吧、减少连接次数。
    5、客户端的session ticket 持久化,之前都是提到的服务端的session ticket,但是客户端如果是浏览器或者APP,因为重新打开等操作导致重新建立链接,应该会清空保存的会话票据,服务端即便有票据也没有用了。(个人理解,不正确的话请老师指正)
    2020-05-29
    5
  • 我来也
    最近就遇到过tls协议版本的问题,不过我们是在开倒车。😂

    最近升级到k8s后,默认的ingress nignx只支持tls1.2以上的版本,导致某些安卓5.x版本上的app无法与服务器正常通讯,为了兼容这部分用户,只能强制把tls支持的最低版本号调回到1.0。
    2020-05-29
    2
  • 东郭
    老师,我在nginx中配置的https,配置完成后,浏览器能正常访问,但通过https://cim.itrus.cn/#/scanReport测试,报证书链不全,这会是什么原因呢?
    2020-06-10
  • Denuth
    老师求介绍ssl硬件加速方面的实战
    2020-05-31
  • 东郭
    请问老师,我在nginx配置中,不管ssl_certificate和ssl_certificate_key是否配置ecc证书,抓包查看服务器的server hello响应中的Cipher Suite字段都是TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,这是正常的吗?

    作者回复: 你好东郭,这是正常的,TLS握手阶段Nginx的Cipher Suite,要通过ssl_ciphers 指令来配支持的suites,并可通过ssl_prefer_server_ciphers指定优先选用的算法。
    证书只是包含了密钥、身份等信息,它们与密钥协商方式、对称加密算法并无关系。

    2020-05-30
  • 毛立平
    OSCP->OCSP? 最近碰到过letsencrypt在国内访问ocsp的问题导致ios端延迟3s的问题。 https://mp.weixin.qq.com/s/z_QsomzE3jBtwi8VdVDdEA
    2020-05-29
    2
收起评论
6
返回
顶部