Rustls 有望超越 OpenSSL

💡 原文中文,约1500字,阅读约需4分钟。
📝

内容提要

Rustls是用Rust编写的高质量TLS实现,性能优于OpenSSL。使用aws-lc-rs加密提供程序和jemalloc分配器可以实现最佳性能。Rustls的内存成本较低,数据发送吞吐量与OpenSSL相当。使用ChaCha20密码套件时,Rustls的吞吐量比OpenSSL低45%。Rustls在服务器端RSA握手次数减少,但在客户端提供更高吞吐量。使用ECDSA时情况相反。Rustls处理更多的恢复握手。

🎯

关键要点

  • Rustls 是用 Rust 编写的高质量 TLS 实现,旨在取代不安全的替代方案如 OpenSSL。
  • Rustls 0.22.0 和 OpenSSL 3.2.0 之间的性能比较显示 Rustls 在某些情况下更快或资源消耗更少。
  • 高性能的 TLS 实现能够为更多客户端提供服务,性能被视为不可协商的特征。
  • Rustls 在数据传输吞吐量、每秒握手次数和内存使用量方面击败了 OpenSSL。
  • 与 aws-lc-rs 加密提供程序一起使用时,Rustls 可以实现最佳性能。
  • 使用 jemalloc 分配器可以使 Rustls 的数据传输吞吐量增加一倍以上。
  • Rustls 的内存使用量显著低于 OpenSSL,C10K 内存使用量分别为 132MiB 和 688MiB。
  • 使用基于 AES 的密码套件时,Rustls 的数据发送吞吐量与 OpenSSL 大致相同。
  • 使用基于 ChaCha20 的密码套件时,Rustls 的数据传输吞吐量比 OpenSSL 低约 45%。
  • Rustls 在服务器端 RSA 握手次数减少,但在客户端提供更高吞吐量。
  • 使用 ECDSA 时,Rustls 在服务器端性能上优于 OpenSSL,但在客户端性能稍逊。
  • Rustls 每秒处理更多的恢复握手,增加幅度在 80% 到 330% 之间。
🏷️

标签

➡️

继续阅读