【问题标题】:Scalable ssl/tls library可扩展的 ssl/tls 库
【发布时间】:2015-07-18 05:22:50
【问题描述】:

我想创建能够以最高性能提供大型 https 数据流的服务器。大多数 CPU 负载将采用对称密钥编码(AES、DEC 等),这非常适合多核系统上的并行化。
我已经研究过openssl,它似乎无法做到这一点。是否有任何 ssl 库能够在多个线程上进行加密/解密?

【问题讨论】:

  • Web 服务器不够好?您将如何平衡多线程上的服务请求与线程加密?与网络 IO 相比,加密是瓶颈吗?
  • 所以您想将一个流的解码分配给多个核心,对吗?通常在 Web 服务器上,您有多个请求,因此您可以简单地在核心之间分发请求。顺便说一句:在大多数情况下,解密不能并行化,因为每个块的解密都取决于前一个块(取决于使用的密码模式)。
  • 没错,一种带有大文件的网络服务器,所以我想尽可能快地提供单一连接。看起来你是对的。我知道高度用于数据加密的 AES 是块密码,但似乎每个块都依赖于前一个。

标签: ssl encryption https parallel-processing multicore


【解决方案1】:

流行的加密协议本质上是顺序的和单 CPU 的。

理论上的解决方案是同时使用多个 HTTPS 连接,每个连接传输文件的不同部分。

实际上,这在网络浏览器中并没有得到很好的支持。您可以使用下载加速器程序,但现在这并不常见。

但是您可以解决这些限制,但将文件分成多个部分,每个部分都有自己的 URL。但是你仍然需要在最后加入这些部分。如果您使用 7zip 并使用存档模式,则可以指定拆分文件的大小。然后在另一边你只需使用 7Zip 来提取。

因此,没有完美的解决方案,但有很多选择供您考虑。

【讨论】:

    猜你喜欢
    • 2016-05-16
    • 2015-11-22
    • 1970-01-01
    • 1970-01-01
    • 2017-08-05
    • 1970-01-01
    相关资源
    最近更新 更多