1、HTTPS性能损耗
前文讨论了HTTPS原理与优势:身份验证、信息加密与完整性校验等,且未对TCP和HTTP协议做任何修改。但通过增加新协议以实现更安全的通信必然需要付出代价,HTTPS协议的性能损耗主要体现如下:
(1).增加延时
分析前面的握手过程,一次完整的握手至少需要两端依次来回两次通信,至少增加延时2* RTT,利用会话缓存从而复用连接,延时也至少1* RTT*。
(2).消耗较多的CPU资源
除数据传输之外,HTTPS通信主要包括对对称加解密、非对称加解密(服务器主要采用私钥解密数据);压测 TS8 机型的单核 CPU:对称加密算法AES-CBC-256 吞吐量 600Mbps,非对称 RSA 私钥解密200次/s。不考虑其它软件层面的开销,10G 网卡为对称加密需要消耗 CPU 约17核,24核CPU最多接入 HTTPS 连接 4800;
静态节点当前10G 网卡的 TS8 机型的 HTTP 单机接入能力约为10w/s,如果将所有的HTTP连接变为HTTPS连接,则明显RSA的解密最先成为瓶颈。因此,RSA的解密能力是当前困扰HTTPS接入的主要难题。
2、HTTPS接入优化
(1).CDN接入
HTTPS 增加的延时主要是传输延时 RTT,RTT 的特点是节点越近延时越小,CDN 天然离用户最近,因此选择使用 CDN 作为 HTTPS 接入的入口,将能够极大减少接入延时。CDN 节点通过和业务服务器维持长连接、会话复用和链路质量优化等可控方法,极大减少 HTTPS 带来的延时。
(2).会话缓存
虽然前文提到 HTTPS 即使采用会话缓存也要至少1*RTT的延时,但是至少延时已经减少为原来的一半,明显的延时优化;同时,基于会话缓存建立的 HTTPS 连接不需要服务器使用RSA私钥解密获取 Pre-master 信息,可以省去CPU 的消耗。如果业务访问连接集中,缓存命中率高,则HTTPS的接入能力讲明显提升。当前TRP平台的缓存命中率高峰时期大于30%,10k/s的接入资源实际可以承载13k/的接入,收效非常可观。
(3).硬件加速
为接入服务器安装专用的SSL硬件加速卡,作用类似 GPU,释放 CPU,能够具有更高的 HTTPS 接入能力且不影响业务程序的。测试某硬件加速卡单卡可以提供35k的解密能力,相当于175核 CPU,至少相当于7台24核的服务器,考虑到接入服务器其它程序的开销,一张硬件卡可以实现接近10台服务器的接入能力。
(4).远程解密
本地接入消耗过多的 CPU 资源,浪费了网卡和硬盘等资源,考虑将最消耗 CPU 资源的RSA解密计算任务转移到其它服务器,如此则可以充分发挥服务器的接入能力,充分利用带宽与网卡资源。远程解密服务器可以选择 CPU 负载较低的机器充当,实现机器资源复用,也可以是专门优化的高计算性能的服务器。当前也是 CDN 用于大规模HTTPS接入的解决方案之一。
(5).SPDY/HTTP2
前面的方法分别从减少传输延时和单机负载的方法提高 HTTPS 接入性能,但是方法都基于不改变 HTTP 协议的基础上提出的优化方法,SPDY/HTTP2 利用 TLS/SSL 带来的优势,通过修改协议的方法来提升 HTTPS 的性能,提高下载速度等。
相关推荐
【HTTPS优化方案】 HTTPS协议是互联网上的安全通信标准,它通过加密传输确保用户的数据隐私和安全。然而,相比HTTP,HTTPS确实会引入额外的开销,包括网络延迟、CPU资源消耗以及潜在的安全风险。以下是一些针对这些...
基于OkHttp框架的HTTPHTTPS请求优化库 项目简介 本项目是一个基于OkHttp框架的HTTPHTTPS请求优化库,专注于解决在HTTPHTTPS请求中常见的DNS解析、证书校验、连接复用等问题。通过提供多种优化策略和工具类,本...
3. **HTTP/HTTPS优化**:对于Web服务,优化HTTP协议(或其更安全的版本HTTPS)是关键。这包括启用HTTP/2或HTTP/3,压缩数据(GZIP或Brotli),减少DNS查找次数,以及使用缓存策略。 4. **CDN(内容分发网络)**:...
### HTTPS性能优化详解 随着网络安全意识的提升,HTTPS 已经成为互联网通信的标准协议之一。HTTPS 相比 HTTP 提供了更高的安全性,包括数据加密、身份验证和消息完整性检查等功能。然而,HTTPS 的这些特性也带来了...
### HTTPS优化 开启全站HTTPS可以增强数据传输的安全性。这涉及到购买SSL/TLS证书、在服务器配置证书、以及更新网站资源的引用以使用HTTPS URL。升级后的网站需要确保混合内容问题得到解决,即网站上的所有资源都是...
Spring Boot 中 Tomcat、Https 配置以及 Jetty 优化详解 本资源主要介绍了 Spring Boot 中 Tomcat 的配置、Https 配置以及 Jetty 优化策略。通过本资源,您可以了解到如何在 Spring Boot 项目中配置 Tomcat 和 ...
- **官方文档**:[Trino Documentation](https://trino.io/documentation/current/index.html) - **社区论坛**:参与Trino社区讨论,获取最新的优化技巧和实践经验分享。 - **培训课程**:参加官方或第三方提供的...
凸优化是数学优化的一个分支,专注于寻找使凸函数达到最小值的点,这类问题在数学和工程领域广泛存在,并且通常具有良好的数学性质,使得它们可解且解是全局最优的。斯坦福大学的凸优化课件汇总提供了对这门学科全面...
这包括了网站的可爬性、XML站点地图的设置、网页错误的修复(如404错误)、HTTPS安全协议的采用等。良好的技术基础能让搜索引擎更顺畅地抓取和理解网站内容。 总之,SEO优化是一个系统性的工作,需要在内容、元数据...
基于多目标灰狼的冷热电联拱型微电网允许优化/ 考虑用户侧柔性负荷的社区综合能源系统日前优化调度(完美复现)matlab-yalmip-cplex/gurobi代码/ 基于场景的多区域综合能源优化调度(随机优化)(完美复现)matlab-...
多目标优化是现代工程设计、经济管理等领域中的关键问题,涉及到多个目标函数的同时最优化,通常没有单一的全局最优解,而是存在一个最优解集合,称为帕累托前沿。白鲸优化算法(Whale Optimization Algorithm, WOA...
食用方法可参考我写的博客:https://blog.csdn.net/weixin_43486940/article/details/118701303 本文主要介绍如何使用python搭建:一个基于:粒子群优化算法(PSO:Particle swarm optimization) 优化CNN网络,并...
**鲸鱼算法优化BP神经网络** 鲸鱼算法(Whale Optimization Algorithm, WOA)是一种新型的全局优化算法,灵感来源于鲸鱼捕食的行为。在解决复杂优化问题时,鲸鱼算法展现出良好的寻优能力和适应性,尤其适用于参数...
### MATLAB优化工具箱详解 #### 一、引言 MATLAB作为一款强大的数学软件,在科研与工程领域有着广泛的应用。其内置的优化工具箱(Optimization Toolbox)为用户提供了多种优化算法,帮助解决复杂的数学优化问题。...
在IT领域,尤其是在运筹学和优化算法中,“三维装箱优化”是一个常见的问题,它涉及到如何有效地在有限的空间内放置不同尺寸的物品,以达到最大的利用率或最小的浪费。Matlab作为强大的数学计算和建模工具,常被用于...
智能算法在现代科技领域扮演着至关重要的角色,特别是在解决复杂优化问题时。"飞狐优化算法"(Flying Foxes Optimization, 简称FFO)是近年来提出的一种新型全局优化方法,灵感来源于狐狸的捕食行为。这个算法以其...
【标题】"基于人工蜂群算法的函数优化分析"是一个探讨使用人工蜂群算法解决多目标函数优化问题的研究。在优化领域,人工蜂群算法(Artificial Bee Colony, ABC)是一种受到蜜蜂采蜜行为启发的全局优化算法,适用于...
HTTPS优化,全面支持HTTPS网站; 部分导航pjax 主题添加了OWO表情,方便用户自定义添加表情包 多种广告位添加 强大的SEO优化效果,栏目自定义标题,文章内链,关键字的规划,配合熊掌号,优化效果很显著 文章列表,单...
HTTPS优化,全面支持HTTPS网站; 部分导航pjax 主题添加了OWO表情,方便用户自定义添加表情包 多种广告位添加 强大的SEO优化效果,栏目自定义标题,文章内链,关键字的规划,配合熊掌号,优化效果很显著 ...
斯坦福大学凸优化课件知识点详细解读: 斯坦福大学凸优化课件是来自世界顶尖学府斯坦福大学的教育资源,该课件由知名教授Stephen Boyd讲授,其内容覆盖了凸优化领域的广泛理论,并与教学视频资源相对应。在课程中,...